Skip to content

Instantly share code, notes, and snippets.

@ipeychev
Created May 24, 2015 14:12
Show Gist options
  • Save ipeychev/ed71bac8ece526afc0fd to your computer and use it in GitHub Desktop.
Save ipeychev/ed71bac8ece526afc0fd to your computer and use it in GitHub Desktop.
begin_compilation
name "$.testTag"
method "$.testTag:0"
date 1432461307000
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 6 t1 Context type:Tagged <|@
0 2 t2 Parameter 0 type:Tagged <|@
0 2 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 78
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 t11 LoadContextSlot t1[4] type:Tagged pos:22 <|@
0 0 t12 CheckHeapObject t11 pos:26 <|@
0 0 t13 CheckInstanceType string t11 pos:26 <|@
0 2 t14 Constant 0x315a30785c11 <a String with map 0x3f3d14808f09 value = 0x171db9908ee1 <String[0]: >> [map 0x3f3d14808f09] pos:26 <|@
0 0 t15 CheckMaps t14 [0x3f3d14808f09](stability-check) pos:26 <|@
0 1 t17 Constant 0x315a30786711 <JS Function toLowerCase (SharedFunctionInfo 0x315a30739c39)> [map 0x3f3d14806729] pos:26 <|@
0 0 t18 PushArguments t11 type:Tagged pos:26 <|@
0 2 t19 CallJSFunction t17 #1 changes[*] type:Tagged pos:26 <|@
0 0 v20 Simulate id=10 push t19 type:Tagged pos:26 <|@
0 0 v21 StoreContextSlot t1[4] = t19 changes[ContextSlots] type:Tagged pos:20 <|@
0 0 v22 Simulate id=6 type:Tagged pos:20 <|@
0 1 t23 FunctionLiteral t1 changes[NewSpacePromotion] pos:57 <|@
0 1 s27 Constant 1 type:Smi pos:50 <|@
0 0 v25 Return t23 (pop s27 values) type:Tagged pos:50 <|@
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:0];) () [hir:v10] <|@
32 load-context-slot [rbx|R][rax|R][4] [hir:t11] <|@
34 gap ((0) = [rbx|R];) () () () [hir:t11] <|@
36 check-non-smi = [rbx|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R]] [hir:t12] <|@
38 gap () () () () [hir:t12] <|@
40 check-instance-type = [rbx|R] [id=3|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R]] [hir:t13] <|@
42 gap () () () () [hir:t13] <|@
44 check-maps = NULL [hir:t15] <|@
46 gap () () () () [hir:t15] <|@
48 push-argument = [rbx|R] [hir:t18] <|@
50 gap () () () () [hir:t18] <|@
52 constant-t [rdi|R]= [hir:t17] <|@
54 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t17] <|@
56 call-js-function [rax|R]= [rdi|R]#0 / {[rdi|R];[stack:0]} [hir:t19] <|@
58 gap ([stack:1] = [rax|R];) ([rax|R];) () () [hir:t19] <|@
60 lazy-bailout = [id=10|deopt_id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[rax|R]] [hir:v20] <|@
62 gap () ([rbx|R] = [rax|R];) ([rdx|R] = [stack:0];) () [hir:v20] <|@
64 store-context-slot [rdx|R][4] <- [rbx|R] [hir:v21] <|@
66 gap () ([rsi|R] = [rdx|R];) () () [hir:v21] <|@
68 function-literal [rax|R]= [rsi|R] [id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[stack:1]] {[rsi|R];[stack:0];[stack:1]} [hir:t23] <|@
70 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t23] <|@
72 lazy-bailout = [id=6|deopt_id=4|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[stack:1]] [hir:t23] <|@
74 gap () ([rax|R];) () () [hir:t23] <|@
76 return = [rax|R] NULL [constant:27] [hir:v25] <|@
78 gap () () () () [hir:v25] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "$.testParent"
method "$.testParent:1"
date 1432461307000
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 2 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 42
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 t11 FunctionLiteral t1 changes[NewSpacePromotion] pos:26 <|@
0 1 s15 Constant 1 type:Smi pos:19 <|@
0 0 v13 Return t11 (pop s15 values) type:Tagged pos:19 <|@
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 () ([rsi|R] = [stack:0];) () () [hir:v10] <|@
32 function-literal [rax|R]= [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:t11] <|@
34 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t11] <|@
36 lazy-bailout = [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:t11] <|@
38 gap () ([rax|R];) () () [hir:t11] <|@
40 return = [rax|R] NULL [constant:15] [hir:v13] <|@
42 gap () () () () [hir:v13] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "$.testClass"
method "$.testClass:2"
date 1432461307000
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 8 t1 Context type:Tagged <|@
0 2 t2 Parameter 0 type:Tagged <|@
0 2 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 110
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 t11 Constant 0xa0eea30b5e1 <String[1]: > [map 0x3f3d14804261] pos:34 <|@
0 3 t12 LoadContextSlot t1[4] type:Tagged pos:40 <|@
0 0 t13 CheckHeapObject t12 pos:50 <|@
0 0 t14 CheckInstanceType string t12 pos:50 <|@
0 2 t15 Constant 0x315a30785c11 <a String with map 0x3f3d14808f09 value = 0x171db9908ee1 <String[0]: >> [map 0x3f3d14808f09] pos:50 <|@
0 0 t16 CheckMaps t15 [0x3f3d14808f09](stability-check) pos:50 <|@
0 1 t18 Constant 0x315a30786711 <JS Function toLowerCase (SharedFunctionInfo 0x315a30739c39)> [map 0x3f3d14806729] pos:50 <|@
0 0 t19 PushArguments t12 type:Tagged pos:50 <|@
0 4 t20 CallJSFunction t18 #1 changes[*] type:Tagged pos:50 <|@
0 0 v21 Simulate id=21 push t11, push t20 type:Tagged pos:50 <|@
0 0 t22 CheckHeapObject t20 pos:38 <|@
0 0 t23 CheckInstanceType string t20 pos:38 <|@
0 1 t24 StringAdd t11 t20 (N) changes[NewSpacePromotion] pos:38 <|@
0 2 t26 StringAdd t24 t11 (N) changes[NewSpacePromotion] pos:64 <|@
0 0 v27 StoreContextSlot t1[4] = t26 changes[ContextSlots] type:Tagged pos:32 <|@
0 0 v28 Simulate id=6 pop 2 / push t26 type:Tagged pos:32 <|@
0 1 t29 FunctionLiteral t1 changes[NewSpacePromotion] pos:87 <|@
0 1 s33 Constant 1 type:Smi pos:80 <|@
0 0 v31 Return t29 (pop s33 values) type:Tagged pos:80 <|@
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:0];) () [hir:v10] <|@
32 load-context-slot [rbx|R][rax|R][4] [hir:t12] <|@
34 gap ((0) = [rbx|R];) () () () [hir:t12] <|@
36 check-non-smi = [rbx|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R]] [hir:t13] <|@
38 gap () () () () [hir:t13] <|@
40 check-instance-type = [rbx|R] [id=3|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R]] [hir:t14] <|@
42 gap () () () () [hir:t14] <|@
44 check-maps = NULL [hir:t16] <|@
46 gap () () () () [hir:t16] <|@
48 push-argument = [rbx|R] [hir:t19] <|@
50 gap () () () () [hir:t19] <|@
52 constant-t [rdi|R]= [hir:t18] <|@
54 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t18] <|@
56 call-js-function [rax|R]= [rdi|R]#0 / {[rdi|R];[stack:0]} [hir:t20] <|@
58 gap ([stack:1] = [rax|R];) ([rbx|R] = [rax|R];) () () [hir:t20] <|@
60 lazy-bailout = [id=21|deopt_id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[rbx|R]] [hir:v21] <|@
62 gap () () () () [hir:v21] <|@
64 check-non-smi = [rbx|R] [id=21|deopt_id=4|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[rbx|R]] [hir:t22] <|@
66 gap () () () () [hir:t22] <|@
68 check-instance-type = [rbx|R] [id=21|deopt_id=5|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[rbx|R]] [hir:t23] <|@
70 gap () () () () [hir:t23] <|@
72 constant-t [rdx|R]= [hir:t11] <|@
74 gap ((0) = [rdx|R];) ([rsi|R] = [stack:0]; [rdx|R]; [rax|R] = [rbx|R];) () () [hir:t11] <|@
76 string-add [rax|R]= [rsi|R] [rdx|R] [rax|R] [id=21|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[stack:1]] {[rsi|R];[rdx|R];[rax|R];[stack:0];[stack:1]} [hir:t24] <|@
78 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t24] <|@
80 lazy-bailout = [id=21|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[stack:1]] [hir:t24] <|@
82 gap () () () () [hir:t24] <|@
84 constant-t [rdx|R]= [hir:t11] <|@
86 gap ((0) = [rdx|R];) ([rsi|R] = [stack:0]; [rdx|R] = [rax|R]; [rax|R] = [rdx|R];) () () [hir:t11] <|@
88 string-add [rax|R]= [rsi|R] [rdx|R] [rax|R] [id=21|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[stack:1]] {[rsi|R];[rdx|R];[rax|R];[stack:0];[stack:1]} [hir:t26] <|@
90 gap ([stack:2] = [rax|R];) ([rax|R];) () () [hir:t26] <|@
92 lazy-bailout = [id=21|deopt_id=7|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:11];[stack:1]] [hir:t26] <|@
94 gap () ([rbx|R] = [rax|R];) ([rdx|R] = [stack:0];) () [hir:t26] <|@
96 store-context-slot [rdx|R][4] <- [rbx|R] [hir:v27] <|@
98 gap () ([rsi|R] = [rdx|R];) () () [hir:v27] <|@
100 function-literal [rax|R]= [rsi|R] [id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[stack:2]] {[rsi|R];[stack:0];[stack:2]} [hir:t29] <|@
102 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t29] <|@
104 lazy-bailout = [id=6|deopt_id=8|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[stack:2]] [hir:t29] <|@
106 gap () ([rax|R];) () () [hir:t29] <|@
108 return = [rax|R] NULL [constant:33] [hir:v31] <|@
110 gap () () () () [hir:v31] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "$"
method "$:3"
date 1432461307000
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 i1070 Constant -1 type:Smi <|@
0 14 i208 Constant 0 type:Smi <|@
0 28 i138 Constant 1 type:Smi <|@
0 5 t37 Constant 0x315a30704141 <the hole> [map 0x3f3d14804471] <|@
0 51 t5 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 66 t1 Context type:Tagged <|@
0 2 t2 Parameter 0 type:Tagged <|@
0 5 t3 Parameter 1 type:Tagged <|@
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@
0 0 v6 Simulate id=2 var[14] = t5, var[13] = t5, var[12] = t5, var[11] = t5, var[10] = t5, var[9] = t5, var[8] = t5, var[7] = t5, var[6] = t5, var[5] = t5, 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: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 138
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 i11 Constant 32 type:Smi [noOSE] pos:32 <|@
0 0 t1079 CapturedObject #1 t5 t5 t5 t5 type:Tagged pos:32 <|@
0 12 t13 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:32 <|@
0 0 t1080 CapturedObject #1 t5 t5 t13 t5 type:Tagged pos:32 <|@
0 5 t15 Constant 0x3f3d14807331 <Map(elements=0)> [map 0x3f3d14804159] [noOSE] pos:32 <|@
0 0 t1081 CapturedObject #1 t15 t5 t13 t5 type:Tagged pos:32 <|@
0 0 t1082 CapturedObject #1 t15 t13 t13 t5 type:Tagged pos:32 <|@
0 3 i19 Constant 0 type:Smi [noOSE] pos:32 <|@
0 0 t1083 CapturedObject #1 t15 t13 t13 i19 type:Tagged pos:32 <|@
0 0 t1084 CapturedObject #1 t15 t13 t13 i19 type:Tagged pos:32 <|@
0 5 t25 RegExpLiteral t1 changes[*] pos:394 <|@
0 0 v26 Simulate id=49 var[3] = t5, push t25 type:Tagged pos:394 <|@
0 3 t28 RegExpLiteral t1 changes[*] pos:466 <|@
0 0 v29 Simulate id=60 pop 1 / var[4] = t25, push t28 type:Tagged pos:466 <|@
0 5 t31 RegExpLiteral t1 changes[*] pos:509 <|@
0 0 v32 Simulate id=71 pop 1 / var[5] = t28, push t31 type:Tagged pos:509 <|@
0 5 t34 RegExpLiteral t1 changes[*] pos:554 <|@
0 0 v35 Simulate id=82 pop 1 / var[6] = t31, push t34 type:Tagged pos:554 <|@
0 0 t38 CheckHeapObject t3 pos:660 <|@
0 0 t39 CheckInstanceType string t3 pos:660 <|@
0 2 t40 Constant 0x315a30785c11 <a String with map 0x3f3d14808f09 value = 0x171db9908ee1 <String[0]: >> [map 0x3f3d14808f09] pos:660 <|@
0 0 t41 CheckMaps t40 [0x3f3d14808f09](stability-check) pos:660 <|@
0 1 t44 Constant 0x171db9908ee1 <String[0]: > [map 0x3f3d14804261] pos:687 <|@
0 1 t45 Constant 0x315a307864b1 <JS Function replace (SharedFunctionInfo 0x315a307398d9)> [map 0x3f3d14806729] pos:660 <|@
0 0 t46 PushArguments t3 t28 t44 type:Tagged pos:660 <|@
0 3 t47 CallJSFunction t45 #3 changes[*] type:Tagged pos:660 <|@
0 0 v48 Simulate id=90 pop 1 / var[5] = t5, var[7] = t34, push t47 type:Tagged pos:660 <|@
0 99 t50 Allocate i11 (N) changes[NewSpacePromotion] [noOSE] pos:741 <|@
0 0 v52 StoreNamedField t50.%elements@16 = t13 changes[ElementsPointer] type:Tagged [noOSE] pos:741 <|@
0 1 t53 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:741 <|@
0 0 v54 StoreNamedField t50.%map@0 = t53 changes[Maps] type:Tagged [noOSE] pos:741 <|@
0 0 v56 StoreNamedField t50.[in-object]@8 = t13 changes[InobjectFields] type:Tagged [noOSE] pos:741 <|@
0 1 s1224 Constant 0 type:Smi pos:741 <|@
0 0 v58 StoreNamedField t50.%length@24 = s1224 changes[ArrayLengths] type:Tagged [noOSE] pos:741 <|@
0 0 v78 Simulate id=126 pop 1 / var[10] = t50, var[1] = t47 type:Tagged pos:803 <|@
0 2 t94 Constant 0x315a3077df09 <JS RegExp> [map 0x3f3d148076a1] pos:858 <|@
0 0 t95 CheckMaps t94 [0x3f3d148076a1](stability-check) pos:858 <|@
0 3 t97 Constant 0x315a3077e091 <JS Function exec (SharedFunctionInfo 0x315a30730771)> [map 0x3f3d14806729] pos:858 <|@
0 2 t590 Constant 0x315a307759b1 <JS Array[0]> [map 0x3f3d148071d1] pos:1988 <|@
0 0 t591 CheckMaps t590 [0x3f3d148071d1](stability-check) pos:1988 <|@
0 1 t595 Constant 0x315a307763f9 <JS Function splice (SharedFunctionInfo 0x315a3072ea61)> [map 0x3f3d14806729] pos:1988 <|@
0 1 t1225 Constant -1 pos:1988 <|@
0 1 t1226 Constant 1 pos:1988 <|@
0 7 i618 Constant 2 type:Smi pos:2053 <|@
0 1 t649 Constant 0x171db992a571 <String[1]: >> [map 0x3f3d14804261] pos:2101 <|@
0 1 t779 Constant 0xa0eea30b5e1 <String[1]: > [map 0x3f3d14804261] pos:2216 <|@
0 5 t796 Constant 0x315a30776231 <JS Function push (SharedFunctionInfo 0x315a3072e701)> [map 0x3f3d14806729] pos:2249 <|@
0 7 t797 Constant 0x4b684864441 <JS Function $ (SharedFunctionInfo 0x4b684842bd1)> [map 0x335beeb0e341] pos:2254 <|@
0 0 t798 CheckMaps t797 [0x335beeb0e341](stability-check) pos:2256 <|@
0 1 t801 Constant 0x4b684843219 <JS Function $.testParent (SharedFunctionInfo 0x4b684842ea1)> pos:2256 <|@
0 2 t807 Constant 0x315a30774579 <an Object with map 0x3f3d14806679> [map 0x3f3d14806679] pos:2249 <|@
0 0 t808 CheckMaps t807 [0x3f3d14806679](stability-check) pos:2249 <|@
0 5 i821 Constant 1024 type:Smi [noOSE] pos:2249 <|@
0 10 i826 Constant 16 type:Smi [noOSE] pos:2249 <|@
0 5 i828 Constant 128990 type:Smi [noOSE] pos:2249 <|@
0 5 i831 Constant 8 type:Smi [noOSE] pos:2249 <|@
0 5 t836 Constant 0x3f3d14804209 <Map(elements=0)> [stable-map] [map 0x3f3d14804159] [noOSE] pos:2249 <|@
0 1 t671 Constant 0x4b684843159 <JS Function $.testDirectParent (SharedFunctionInfo 0x4b684842d81)> pos:2141 <|@
0 9 t934 Constant 0x315a30781b29 <JS Function substring (SharedFunctionInfo 0x315a307356e9)> [map 0x3f3d14806729] pos:2403 <|@
0 3 t938 Constant 0x129df18062a1 <Code: BUILTIN> [map 0x3f3d14804731] pos:2403 <|@
0 1 t293 Constant 0x171db9915d51 <String[1]: .> [map 0x3f3d14804261] pos:1216 <|@
0 1 t432 Constant 0x4b6848431b9 <JS Function $.testId (SharedFunctionInfo 0x4b684842e11)> pos:1327 <|@
0 1 t315 Constant 0x4b6848430f9 <JS Function $.testClass (SharedFunctionInfo 0x4b684842cf1)> pos:1256 <|@
0 1 t129 Constant 0x4b684843099 <JS Function $.testTag (SharedFunctionInfo 0x4b684842c61)> pos:935 <|@
0 0 v79 Goto B2 type:Tagged pos:803 <|@
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];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] {[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];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v10] <|@
30 gap () ([rsi|R] = [stack:0];) () () [hir:v10] <|@
32 regexp-literal [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t25] <|@
34 gap ([stack:1] = [rax|R];) ([rax|R];) () () [hir:t25] <|@
36 lazy-bailout = [id=49|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v26] <|@
38 gap () ([rsi|R] = [stack:0];) () () [hir:v26] <|@
40 regexp-literal [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1]} [hir:t28] <|@
42 gap ([stack:2] = [rax|R];) ([rax|R];) () () [hir:t28] <|@
44 lazy-bailout = [id=60|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[stack:1];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v29] <|@
46 gap () ([rsi|R] = [stack:0];) () () [hir:v29] <|@
48 regexp-literal [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2]} [hir:t31] <|@
50 gap ([stack:3] = [rax|R];) ([rax|R];) () () [hir:t31] <|@
52 lazy-bailout = [id=71|deopt_id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[stack:1];[stack:2];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v32] <|@
54 gap () ([rsi|R] = [stack:0];) () () [hir:v32] <|@
56 regexp-literal [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2];[stack:3]} [hir:t34] <|@
58 gap ([stack:4] = [rax|R];) ([rax|R];) () () [hir:t34] <|@
60 lazy-bailout = [id=82|deopt_id=4|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[stack:1];[stack:2];[stack:3];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v35] <|@
62 gap () () ([rbx|R] = [stack:-1];) () [hir:v35] <|@
64 check-non-smi = [rbx|R] [id=82|deopt_id=5|parameters=2|arguments_stack_height=0|[stack:-2];[rbx|R];[stack:0];[constant:5];[stack:1];[stack:2];[stack:3];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t38] <|@
66 gap () () () () [hir:t38] <|@
68 check-instance-type = [rbx|R] [id=82|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[rbx|R];[stack:0];[constant:5];[stack:1];[stack:2];[stack:3];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t39] <|@
70 gap () () () () [hir:t39] <|@
72 check-maps = NULL [hir:t41] <|@
74 gap () () () () [hir:t41] <|@
76 push-argument = [rbx|R] [hir:t46] <|@
78 gap () () () () [hir:t46] <|@
80 push-argument = [stack:2] [hir:t46] <|@
82 gap () () () () [hir:t46] <|@
84 push-argument = [constant:44] [hir:t46] <|@
86 gap () () () () [hir:t46] <|@
88 constant-t [rdi|R]= [hir:t45] <|@
90 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t45] <|@
92 call-js-function [rax|R]= [rdi|R]#2 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4]} [hir:t47] <|@
94 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t47] <|@
96 lazy-bailout = [id=90|deopt_id=7|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v48] <|@
98 gap () () () () [hir:v48] <|@
100 allocate [rdx|R]= [stack:0] [constant:11] {[stack:0];[stack:1];[stack:3];[stack:4];[rax|R];[rdx|R]} [hir:t50] <|@
102 gap ([stack:5] = [rdx|R];) () () () [hir:t50] <|@
104 store-named-field [rdx|R].%elements@16 <- [constant:13] [hir:v52] <|@
106 gap () () () () [hir:v52] <|@
108 store-named-field [rdx|R].%map@0 <- [constant:53] [hir:v54] <|@
110 gap () () () () [hir:v54] <|@
112 store-named-field [rdx|R].[in-object]@8 <- [constant:13] [hir:v56] <|@
114 gap () () () () [hir:v56] <|@
116 store-named-field [rdx|R].%length@24 <- [constant:1224] [hir:v58] <|@
118 gap () () () () [hir:v58] <|@
120 check-maps = NULL [hir:t95] <|@
122 gap () () () () [hir:t95] <|@
124 check-maps = NULL [hir:t591] <|@
126 gap () () () () [hir:t591] <|@
128 check-maps = NULL [hir:t798] <|@
130 gap () () () () [hir:t798] <|@
132 check-maps = NULL [hir:t808] <|@
134 gap () () () () [hir:t808] <|@
136 gap () ([r8|R] = [rax|R]; [rsi|R] = [constant:15]; [rcx|R] = [constant:13]; [rbx|R] = [constant:13]; [rax|R] = [constant:19]; [r9|R] = [stack:1]; [r11|R] = [stack:3]; [r12|R] = [stack:4];) () () [hir:v79] <|@
138 goto B2 [hir:v79] <|@
end_LIR
end_block
begin_block
name "B2"
from_bci -1
to_bci -1
predecessors "B1" "B98"
successors "B3" "B101"
xhandlers
flags "dom-loop-succ"
dominator "B1"
loop_depth 1
first_lir_id 140
last_lir_id 146
begin_states
begin_locals
size 5
method "None"
1 t64 [ t47 t966 uses:14_0s_0i_0d_1t type:Tagged]
-1 t1086 [ t15 t1086 uses:32_0s_0i_0d_0t type:Tagged]
-1 t1087 [ t13 t1087 uses:30_0s_0i_0d_0t type:Tagged]
-1 t1088 [ t13 t1088 uses:32_0s_0i_0d_0t type:Tagged]
-1 i1089 [ i19 i1089 uses:30_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v80 BlockEntry type:Tagged pos:810 <|@
0 0 t1085 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:810 <|@
0 0 v81 Branch t64 goto (B3, B101) (String) type:Tagged pos:810 <|@
end_HIR
begin_LIR
140 label () ([stack:6] = [r8|R]; [stack:10] = [rsi|R]; [stack:9] = [rcx|R]; [stack:8] = [rbx|R]; [stack:7] = [rax|R];) () () [hir:v80] <|@
142 gap () () () () [hir:v80] <|@
144 gap () () () () [hir:v81] <|@
146 branch B3 | B101 on [r8|R] [id=126|deopt_id=8|parameters=2|arguments_stack_height=0|[stack:-2];[r8|R];[stack:0];[constant:5];[r9|R];[constant:5];[r11|R];[r12|R];[constant:5];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v81] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B2"
successors "B4"
xhandlers
flags "dom-loop-succ"
dominator "B2"
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 v82 BlockEntry type:Tagged pos:810 <|@
0 0 v83 Simulate id=129 type:Tagged pos:810 <|@
0 0 v84 Goto B4 type:Tagged pos:810 <|@
end_HIR
begin_LIR
148 label () () () () Dead block replaced with B4 [hir:v82] <|@
150 gap () () () () [hir:v82] <|@
152 gap () () () () [hir:v84] <|@
154 goto B4 [hir:v84] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B3"
successors "B84" "B5"
xhandlers
flags "dom-loop-succ"
dominator "B3"
loop_depth 1
first_lir_id 156
last_lir_id 186
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v88 BlockEntry type:Tagged pos:803 <|@
0 0 v89 Simulate id=129 type:Tagged pos:803 <|@
0 0 t93 CheckMaps t34 [0x3f3d14807649] pos:858 <|@
0 0 t98 PushArguments t34 t64 type:Tagged pos:858 <|@
0 11 t99 CallJSFunction t97 #2 changes[*] type:Tagged pos:858 <|@
0 0 v100 Simulate id=144 push t99 type:Tagged pos:858 <|@
0 0 v102 Branch t99 goto (B84, B5) (Null,SpecObject) type:Tagged pos:841 <|@
end_HIR
begin_LIR
156 label () () () () [hir:v88] <|@
158 gap () () () () [hir:v88] <|@
160 check-maps = [r12|R] [id=129|deopt_id=9|parameters=2|arguments_stack_height=0|[stack:-2];[r8|R];[stack:0];[constant:5];[r9|R];[constant:5];[r11|R];[r12|R];[constant:5];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t93] <|@
162 gap () () () () [hir:t93] <|@
164 push-argument = [r12|R] [hir:t98] <|@
166 gap () () () () [hir:t98] <|@
168 push-argument = [r8|R] [hir:t98] <|@
170 gap () () () () [hir:t98] <|@
172 constant-t [rdi|R]= [hir:t97] <|@
174 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t97] <|@
176 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:10];[stack:9];[stack:8]} [hir:t99] <|@
178 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t99] <|@
180 lazy-bailout = [id=144|deopt_id=10|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v100] <|@
182 gap () () () () [hir:v100] <|@
184 gap () () () () [hir:v102] <|@
186 branch B84 | B5 on [rax|R] [id=144|deopt_id=11|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v102] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B4"
successors "B6"
xhandlers
flags
dominator "B4"
loop_depth 1
first_lir_id 188
last_lir_id 194
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v106 BlockEntry type:Tagged pos:841 <|@
0 0 v107 Simulate id=137 pop 1 / var[8] = t5 type:Tagged pos:841 <|@
0 0 v108 Goto B6 type:Tagged pos:841 <|@
end_HIR
begin_LIR
188 label () () () () Dead block replaced with B6 [hir:v106] <|@
190 gap () () () () [hir:v106] <|@
192 gap () () () () [hir:v108] <|@
194 goto B6 [hir:v108] <|@
end_LIR
end_block
begin_block
name "B6"
from_bci -1
to_bci -1
predecessors "B5"
successors "B52" "B7"
xhandlers
flags
dominator "B5"
loop_depth 1
first_lir_id 196
last_lir_id 226
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v254 BlockEntry type:Tagged pos:1087 <|@
0 0 t257 CheckMaps t31 [0x3f3d14807649] pos:1106 <|@
0 0 t262 PushArguments t31 t64 type:Tagged pos:1106 <|@
0 19 t263 CallJSFunction t97 #2 changes[*] type:Tagged pos:1106 <|@
0 0 v264 Simulate id=242 push t263 type:Tagged pos:1106 <|@
0 0 v266 Branch t263 goto (B52, B7) (Null,SpecObject) type:Tagged pos:1085 <|@
end_HIR
begin_LIR
196 label () () () () [hir:v254] <|@
198 gap () () ([rax|R] = [stack:3];) () [hir:v254] <|@
200 check-maps = [rax|R] [id=137|deopt_id=12|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[rax|R];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t257] <|@
202 gap () () () () [hir:t257] <|@
204 push-argument = [rax|R] [hir:t262] <|@
206 gap () () () () [hir:t262] <|@
208 push-argument = [stack:6] [hir:t262] <|@
210 gap () () () () [hir:t262] <|@
212 constant-t [rdi|R]= [hir:t97] <|@
214 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t97] <|@
216 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:10];[stack:9];[stack:8]} [hir:t263] <|@
218 gap ([stack:13] = [rax|R];) ([rax|R];) () () [hir:t263] <|@
220 lazy-bailout = [id=242|deopt_id=13|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v264] <|@
222 gap () () () () [hir:v264] <|@
224 gap () () () () [hir:v266] <|@
226 branch B52 | B7 on [rax|R] [id=242|deopt_id=14|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v266] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B6"
successors "B8"
xhandlers
flags
dominator "B6"
loop_depth 1
first_lir_id 228
last_lir_id 234
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v270 BlockEntry type:Tagged pos:1085 <|@
0 0 v271 Simulate id=235 pop 1 / var[8] = t5 type:Tagged pos:1085 <|@
0 0 v272 Goto B8 type:Tagged pos:1085 <|@
end_HIR
begin_LIR
228 label () () () () Dead block replaced with B8 [hir:v270] <|@
230 gap () () () () [hir:v270] <|@
232 gap () () () () [hir:v272] <|@
234 goto B8 [hir:v272] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B7"
successors "B11" "B9"
xhandlers
flags
dominator "B7"
loop_depth 1
first_lir_id 236
last_lir_id 266
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v567 BlockEntry type:Tagged pos:1497 <|@
0 0 t570 CheckMaps t25 [0x3f3d14807649] pos:1514 <|@
0 0 t575 PushArguments t25 t64 type:Tagged pos:1514 <|@
0 20 t576 CallJSFunction t97 #2 changes[*] type:Tagged pos:1514 <|@
0 0 v577 Simulate id=410 push t576 type:Tagged pos:1514 <|@
0 0 v579 Branch t576 goto (B11, B9) (SpecObject) type:Tagged pos:1495 <|@
end_HIR
begin_LIR
236 label () () () () [hir:v567] <|@
238 gap () () ([rax|R] = [stack:1];) () [hir:v567] <|@
240 check-maps = [rax|R] [id=235|deopt_id=15|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[rax|R];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t570] <|@
242 gap () () () () [hir:t570] <|@
244 push-argument = [rax|R] [hir:t575] <|@
246 gap () () () () [hir:t575] <|@
248 push-argument = [stack:6] [hir:t575] <|@
250 gap () () () () [hir:t575] <|@
252 constant-t [rdi|R]= [hir:t97] <|@
254 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t97] <|@
256 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:10];[stack:9];[stack:8]} [hir:t576] <|@
258 gap ([stack:11] = [rax|R];) ([rax|R];) () () [hir:t576] <|@
260 lazy-bailout = [id=410|deopt_id=16|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v577] <|@
262 gap () () () () [hir:v577] <|@
264 gap () () () () [hir:v579] <|@
266 branch B11 | B9 on [rax|R] [id=410|deopt_id=17|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v579] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B10"
xhandlers
flags
dominator "B8"
loop_depth 1
first_lir_id 268
last_lir_id 274
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v583 BlockEntry type:Tagged pos:1495 <|@
0 0 v584 Simulate id=403 pop 1 / var[8] = t5 type:Tagged pos:1495 <|@
0 0 v585 Goto B10 type:Tagged pos:1495 <|@
end_HIR
begin_LIR
268 label () () () () Dead block replaced with B10 [hir:v583] <|@
270 gap () () () () [hir:v583] <|@
272 gap () () () () [hir:v585] <|@
274 goto B10 [hir:v585] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9"
successors "B51"
xhandlers
flags
dominator "B9"
loop_depth 1
first_lir_id 276
last_lir_id 282
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v944 BlockEntry type:Tagged pos:1484 <|@
0 0 v945 Simulate id=401 type:Tagged pos:1484 <|@
0 0 v946 Goto B51 type:Tagged pos:1484 <|@
end_HIR
begin_LIR
276 label () () () () [hir:v944] <|@
278 gap () () () () [hir:v944] <|@
280 gap () ([rax|R] = [stack:6];) () () [hir:v946] <|@
282 goto B51 [hir:v946] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B8"
successors "B12"
xhandlers
flags
dominator "B8"
loop_depth 1
first_lir_id 284
last_lir_id 290
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v580 BlockEntry type:Tagged pos:1495 <|@
0 0 v581 Simulate id=402 pop 1 / var[8] = t576 type:Tagged pos:1495 <|@
0 0 v582 Goto B12 type:Tagged pos:1495 <|@
end_HIR
begin_LIR
284 label () () () () Dead block replaced with B12 [hir:v580] <|@
286 gap () () () () [hir:v580] <|@
288 gap () () () () [hir:v582] <|@
290 goto B12 [hir:v582] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B11"
successors "B14" "B13"
xhandlers
flags
dominator "B11"
loop_depth 1
first_lir_id 292
last_lir_id 374
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v586 BlockEntry type:Tagged pos:1978 <|@
0 0 t589 CheckMaps t50 [0x3f3d14807179] pos:1988 <|@
0 0 t596 PushArguments t50 t1225 t1226 type:Tagged pos:1988 <|@
0 9 t597 CallJSFunction t595 #3 changes[*] type:Tagged pos:1988 <|@
0 0 v598 Simulate id=444 push t597 type:Tagged pos:1988 <|@
0 0 t600 CheckHeapObject t597 pos:2001 <|@
0 0 t601 CheckMaps t597 [0x3f3d14807179] pos:2001 <|@
0 1 t602 LoadNamedField t597.%elements@16 type:Tagged pos:2001 <|@
0 1 i603 LoadNamedField t597.%length@24 type:Smi pos:2001 <|@
0 0 i604 BoundsCheck i208 i603 type:Tagged pos:2001 <|@
0 4 t605 LoadKeyed t602[i208] t597 type:Tagged pos:2001 <|@
0 0 t609 CheckHeapObject t576 pos:2040 <|@
0 0 t610 CheckMaps t576 [0x3f3d1480ada1] pos:2040 <|@
0 2 t611 LoadNamedField t576.%elements@16 type:Tagged pos:2040 <|@
0 2 i612 LoadNamedField t576.%length@24 type:Smi pos:2040 <|@
0 0 i613 BoundsCheck i138 i612 type:Tagged pos:2040 <|@
0 3 t614 LoadKeyed t611[i138] t576 check_hole type:Tagged pos:2040 <|@
0 0 v615 Branch t614 goto (B14, B13) (Undefined,String) type:Tagged pos:2044 <|@
end_HIR
begin_LIR
292 label () () () () [hir:v586] <|@
294 gap () () ([rbx|R] = [stack:5];) () [hir:v586] <|@
296 check-maps = [rbx|R] [id=402|deopt_id=18|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t589] <|@
298 gap () () () () [hir:t589] <|@
300 push-argument = [rbx|R] [hir:t596] <|@
302 gap () () () () [hir:t596] <|@
304 push-argument = [constant:1225] [hir:t596] <|@
306 gap () () () () [hir:t596] <|@
308 push-argument = [constant:1226] [hir:t596] <|@
310 gap () () () () [hir:t596] <|@
312 constant-t [rdi|R]= [hir:t595] <|@
314 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t595] <|@
316 call-js-function [rax|R]= [rdi|R]#2 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:11];[stack:10];[stack:9];[stack:8]} [hir:t597] <|@
318 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t597] <|@
320 lazy-bailout = [id=444|deopt_id=19|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v598] <|@
322 gap () () () () [hir:v598] <|@
324 check-non-smi = [rax|R] [id=444|deopt_id=20|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t600] <|@
326 gap () () () () [hir:t600] <|@
328 check-maps = [rax|R] [id=444|deopt_id=21|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t601] <|@
330 gap () () () () [hir:t601] <|@
332 load-named-field [rbx|R]= [rax|R] [hir:t602] <|@
334 gap ((0) = [rbx|R];) () () () [hir:t602] <|@
336 load-named-field [rdx|R]= [rax|R] [hir:i603] <|@
338 gap ((0) = [rdx|R];) () () () [hir:i603] <|@
340 bounds-check = [constant:208] [rdx|R] [id=444|deopt_id=22|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i604] <|@
342 gap () () () () [hir:i604] <|@
344 load-keyed [rbx|R][rbx|R][[constant:208]] [hir:t605] <|@
346 gap ((0) = [rbx|R];) () ([rdx|R] = [stack:11];) () [hir:t605] <|@
348 check-non-smi = [rdx|R] [id=444|deopt_id=23|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t609] <|@
350 gap () () () () [hir:t609] <|@
352 check-maps = [rdx|R] [id=444|deopt_id=24|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t610] <|@
354 gap () () () () [hir:t610] <|@
356 load-named-field [rcx|R]= [rdx|R] [hir:t611] <|@
358 gap ((0) = [rcx|R];) () () () [hir:t611] <|@
360 load-named-field [rsi|R]= [rdx|R] [hir:i612] <|@
362 gap ((0) = [rsi|R];) () () () [hir:i612] <|@
364 bounds-check = [constant:138] [rsi|R] [id=444|deopt_id=25|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i613] <|@
366 gap () () () () [hir:i613] <|@
368 load-keyed [rdi|R][rcx|R][[constant:138]] [id=444|deopt_id=26|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t614] <|@
370 gap ((0) = [rdi|R];) () () () [hir:t614] <|@
372 gap () () () () [hir:v615] <|@
374 branch B14 | B13 on [rdi|R] [id=444|deopt_id=27|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v615] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B12"
successors "B15"
xhandlers
flags
dominator "B12"
loop_depth 1
first_lir_id 376
last_lir_id 390
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v616 BlockEntry type:Tagged pos:2047 <|@
0 0 i623 BoundsCheck i618 i612 type:Tagged pos:2052 <|@
0 2 t624 LoadKeyed t611[i618] t576 check_hole type:Tagged pos:2052 <|@
0 0 v628 Simulate id=476 pop 1 / var[12] = t605, push t624 type:Tagged pos:2044 <|@
0 0 v629 Goto B15 type:Tagged pos:2044 <|@
end_HIR
begin_LIR
376 label () () () () [hir:v616] <|@
378 gap () () () () [hir:v616] <|@
380 bounds-check = [constant:618] [rsi|R] [id=444|deopt_id=28|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i623] <|@
382 gap () () () () [hir:i623] <|@
384 load-keyed [rcx|R][rcx|R][[constant:618]] [id=444|deopt_id=29|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t624] <|@
386 gap ((0) = [rcx|R];) () () () [hir:t624] <|@
388 gap () ([rdi|R] = [rcx|R];) () () [hir:v629] <|@
390 goto B15 [hir:v629] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B12"
successors "B15"
xhandlers
flags
dominator "B12"
loop_depth 1
first_lir_id 392
last_lir_id 398
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v625 BlockEntry type:Tagged pos:2044 <|@
0 0 v626 Simulate id=476 pop 1 / var[12] = t605, push t614 type:Tagged pos:2044 <|@
0 0 v627 Goto B15 type:Tagged pos:2044 <|@
end_HIR
begin_LIR
392 label () () () () Dead block replaced with B15 [hir:v625] <|@
394 gap () () () () [hir:v625] <|@
396 gap () ([rdi|R];) () () [hir:v627] <|@
398 goto B15 [hir:v627] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14" "B13"
successors "B18" "B16"
xhandlers
flags
dominator "B12"
loop_depth 1
first_lir_id 400
last_lir_id 406
begin_states
begin_locals
size 1
method "None"
15 t630 [ t614 t624 uses:3_0s_0i_0d_2t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v631 BlockEntry type:Tagged pos:2056 <|@
0 0 t1091 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2056 <|@
0 0 v632 Branch t630 goto (B18, B16) (None) type:Tagged pos:2056 <|@
end_HIR
begin_LIR
400 label () ((0) = [rdi|R];) () () [hir:v631] <|@
402 gap () () () () [hir:v631] <|@
404 gap () () () () [hir:v632] <|@
406 branch B18 | B16 on [rdi|R] [hir:v632] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B15"
successors "B17"
xhandlers
flags
dominator "B15"
loop_depth 1
first_lir_id 408
last_lir_id 414
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v633 BlockEntry type:Tagged pos:2059 <|@
0 0 v636 Deoptimize goto (B17) type:Tagged pos:2064 <|@
end_HIR
begin_LIR
408 label () () () () [hir:v633] <|@
410 gap () () () () [hir:v633] <|@
412 gap () () () () [hir:v636] <|@
414 deoptimize = [id=476|deopt_id=30|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[rbx|R];[constant:5];[constant:5];[rdi|R]] [hir:v636] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B19"
xhandlers
flags "dead"
dominator "B16"
loop_depth 1
first_lir_id 416
last_lir_id 434
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v637 BlockEntry type:Tagged pos:2064 <|@
0 1 t1227 Constant 3 pos:2064 <|@
0 3 t638 LoadKeyedGeneric t576[t1227] changes[*] type:Tagged pos:2064 <|@
0 0 v639 Simulate id=498 pop 1 / push t638 type:Tagged pos:2064 <|@
0 0 v643 Simulate id=472 pop 1 / push t638 type:Tagged pos:2056 <|@
0 0 v644 Goto B19 type:Tagged pos:2056 <|@
end_HIR
begin_LIR
416 label () () () () [hir:v637] <|@
418 gap () () () () [hir:v637] <|@
420 dummy-use = [constant:1227] [hir:t638] <|@
422 gap () () () () [hir:t638] <|@
424 dummy-use = [stack:0] [hir:t638] <|@
426 gap () () () () [hir:t638] <|@
428 dummy-use [rax|R]= [rdx|R] [hir:t638] <|@
430 gap ((0) = [rax|R];) () () () [hir:t638] <|@
432 gap () ([rax|R];) () () [hir:v644] <|@
434 goto B19 [hir:v644] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B15"
successors "B19"
xhandlers
flags
dominator "B15"
loop_depth 1
first_lir_id 436
last_lir_id 442
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v640 BlockEntry type:Tagged pos:2056 <|@
0 0 v641 Simulate id=472 pop 1 / push t630 type:Tagged pos:2056 <|@
0 0 v642 Goto B19 type:Tagged pos:2056 <|@
end_HIR
begin_LIR
436 label () () () () [hir:v640] <|@
438 gap () () () () [hir:v640] <|@
440 gap () ([rax|R] = [rdi|R];) () () [hir:v642] <|@
442 goto B19 [hir:v642] <|@
end_LIR
end_block
begin_block
name "B19"
from_bci -1
to_bci -1
predecessors "B18" "B17"
successors "B36" "B20"
xhandlers
flags
dominator "B15"
loop_depth 1
first_lir_id 444
last_lir_id 458
begin_states
begin_locals
size 1
method "None"
15 t645 [ t630 t638 uses:5_0s_0i_0d_2t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v646 BlockEntry type:Tagged pos:2033 <|@
0 0 t1092 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2033 <|@
0 0 t650 CheckHeapObject t645 pos:2097 <|@
0 0 t651 CheckInstanceType internalized_string t645 pos:2097 <|@
0 0 v653 CompareObjectEqAndBranch t645 t649 goto (B36, B20) type:Tagged pos:2097 <|@
end_HIR
begin_LIR
444 label () ([stack:12] = [rax|R];) () () [hir:v646] <|@
446 gap () () () () [hir:v646] <|@
448 check-non-smi = [rax|R] [id=472|deopt_id=31|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[rbx|R];[constant:5];[constant:5];[rax|R]] [hir:t650] <|@
450 gap () () () () [hir:t650] <|@
452 check-instance-type = [rax|R] [id=472|deopt_id=32|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[stack:5];[constant:5];[rbx|R];[constant:5];[constant:5];[rax|R]] [hir:t651] <|@
454 gap () () () () [hir:t651] <|@
456 gap () () () () [hir:v653] <|@
458 cmp-object-eq-and-branch = [rax|R] [constant:649] [hir:v653] <|@
end_LIR
end_block
begin_block
name "B20"
from_bci -1
to_bci -1
predecessors "B19"
successors "B21"
xhandlers
flags
dominator "B19"
loop_depth 1
first_lir_id 460
last_lir_id 466
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v657 BlockEntry type:Tagged pos:2097 <|@
0 0 v658 Simulate id=509 pop 1 / var[13] = t645 type:Tagged pos:2097 <|@
0 0 v659 Goto B21 type:Tagged pos:2097 <|@
end_HIR
begin_LIR
460 label () () () () Dead block replaced with B21 [hir:v657] <|@
462 gap () () () () [hir:v657] <|@
464 gap () () () () [hir:v659] <|@
466 goto B21 [hir:v659] <|@
end_LIR
end_block
begin_block
name "B21"
from_bci -1
to_bci -1
predecessors "B20"
successors "B22" "B99"
xhandlers
flags
dominator "B20"
loop_depth 1
first_lir_id 468
last_lir_id 474
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v777 BlockEntry type:Tagged pos:2201 <|@
0 0 v783 CompareObjectEqAndBranch t645 t779 goto (B22, B99) type:Tagged pos:2212 <|@
end_HIR
begin_LIR
468 label () () () () [hir:v777] <|@
470 gap () () () () [hir:v777] <|@
472 gap () () () () [hir:v783] <|@
474 cmp-object-eq-and-branch = [rax|R] [constant:779] [hir:v783] <|@
end_LIR
end_block
begin_block
name "B22"
from_bci -1
to_bci -1
predecessors "B21"
successors "B23"
xhandlers
flags
dominator "B21"
loop_depth 1
first_lir_id 476
last_lir_id 482
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v784 BlockEntry type:Tagged pos:2212 <|@
0 0 v785 Simulate id=550 type:Tagged pos:2212 <|@
0 0 v786 Goto B23 type:Tagged pos:2212 <|@
end_HIR
begin_LIR
476 label () () () () Dead block replaced with B23 [hir:v784] <|@
478 gap () () () () [hir:v784] <|@
480 gap () () () () [hir:v786] <|@
482 goto B23 [hir:v786] <|@
end_LIR
end_block
begin_block
name "B23"
from_bci -1
to_bci -1
predecessors "B22"
successors "B25" "B24"
xhandlers
flags
dominator "B22"
loop_depth 1
first_lir_id 484
last_lir_id 534
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v790 BlockEntry type:Tagged pos:2239 <|@
0 0 t793 CheckMaps t50 [0x3f3d14807179] pos:2249 <|@
0 0 t802 PushArguments t797 t605 type:Tagged pos:2256 <|@
0 2 t803 CallJSFunction t801 #2 changes[*] type:Tagged pos:2256 <|@
0 0 v804 Simulate id=576 var[12] = t5, push t796, push t50, push t803 type:Tagged pos:2256 <|@
0 8 i809 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:2249 <|@
0 0 t811 CheckMaps t50 [0x3f3d14807179] [noOSE] pos:2249 <|@
0 8 t812 LoadNamedField t50.%elements@16 type:Tagged [noOSE] pos:2249 <|@
0 0 t813 CheckMaps t812 [0x3f3d14804209] [noOSE] pos:2249 <|@
0 4 i814 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:2249 <|@
0 0 i816 CompareNumericAndBranch EQ i809 i814 goto (B25, B24) type:Tagged pos:2249 <|@
end_HIR
begin_LIR
484 label () () () () [hir:v790] <|@
486 gap () () ([rcx|R] = [stack:5];) () [hir:v790] <|@
488 check-maps = [rcx|R] [id=550|deopt_id=33|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rdx|R];[constant:5];[rcx|R];[constant:5];[rbx|R];[rax|R];[constant:5]] [hir:t793] <|@
490 gap () () () () [hir:t793] <|@
492 push-argument = [constant:797] [hir:t802] <|@
494 gap () () () () [hir:t802] <|@
496 push-argument = [rbx|R] [hir:t802] <|@
498 gap () () () () [hir:t802] <|@
500 constant-t [rdi|R]= [hir:t801] <|@
502 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t801] <|@
504 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:11];[stack:12];[stack:10];[stack:9];[stack:8]} [hir:t803] <|@
506 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t803] <|@
508 lazy-bailout = [id=576|deopt_id=34|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[stack:5];[rax|R]] [hir:v804] <|@
510 gap () () ([rdx|R] = [stack:5];) () [hir:v804] <|@
512 load-named-field [rbx|R]= [rdx|R] [hir:i809] <|@
514 gap ((0) = [rbx|R];) () () () [hir:i809] <|@
516 check-maps = [rdx|R] [id=576|deopt_id=35|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t811] <|@
518 gap () () () () [hir:t811] <|@
520 load-named-field [rcx|R]= [rdx|R] [hir:t812] <|@
522 gap ((0) = [rcx|R];) () () () [hir:t812] <|@
524 check-maps = [rcx|R] [id=576|deopt_id=36|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t813] <|@
526 gap () () () () [hir:t813] <|@
528 load-named-field [rsi|R]= [rdx|R] [hir:i814] <|@
530 gap ((0) = [rsi|R];) () () () [hir:i814] <|@
532 gap () () () () [hir:i816] <|@
534 compare-numeric-and-branch if [rbx|R] == [rsi|R] then B25 else B24 [hir:i816] <|@
end_LIR
end_block
begin_block
name "B24"
from_bci -1
to_bci -1
predecessors "B23"
successors "B35"
xhandlers
flags
dominator "B23"
loop_depth 1
first_lir_id 536
last_lir_id 546
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v899 BlockEntry type:Tagged pos:2249 <|@
0 0 i900 BoundsCheck i809 i814 type:Tagged [noOSE] pos:2249 <|@
0 0 v901 Goto B35 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
536 label () () () () [hir:v899] <|@
538 gap () () () () [hir:v899] <|@
540 bounds-check = [rbx|R] [rsi|R] [id=576|deopt_id=37|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i900] <|@
542 gap () () () () [hir:i900] <|@
544 gap () ([rcx|R];) () () [hir:v901] <|@
546 goto B35 [hir:v901] <|@
end_LIR
end_block
begin_block
name "B25"
from_bci -1
to_bci -1
predecessors "B23"
successors "B27" "B26"
xhandlers
flags
dominator "B23"
loop_depth 1
first_lir_id 548
last_lir_id 558
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v817 BlockEntry type:Tagged pos:2249 <|@
0 2 i818 LoadNamedField t812.%length@8 type:Smi [noOSE] pos:2249 <|@
0 0 i819 CompareNumericAndBranch GTE i809 i818 goto (B27, B26) type:Tagged pos:2249 <|@
end_HIR
begin_LIR
548 label () () () () [hir:v817] <|@
550 gap () () () () [hir:v817] <|@
552 load-named-field [rdi|R]= [rcx|R] [hir:i818] <|@
554 gap ((0) = [rdi|R];) () () () [hir:i818] <|@
556 gap () () () () [hir:i819] <|@
558 compare-numeric-and-branch if [rbx|R] >= [rdi|R] then B27 else B26 [hir:i819] <|@
end_LIR
end_block
begin_block
name "B26"
from_bci -1
to_bci -1
predecessors "B25"
successors "B34"
xhandlers
flags
dominator "B25"
loop_depth 1
first_lir_id 560
last_lir_id 566
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v892 BlockEntry type:Tagged pos:2249 <|@
0 0 v893 Goto B34 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
560 label () () () () Dead block replaced with B34 [hir:v892] <|@
562 gap () () () () [hir:v892] <|@
564 gap () ([rcx|R];) () () [hir:v893] <|@
566 goto B34 [hir:v893] <|@
end_LIR
end_block
begin_block
name "B27"
from_bci -1
to_bci -1
predecessors "B25"
successors "B28"
xhandlers
flags
dominator "B25"
loop_depth 1
first_lir_id 568
last_lir_id 626
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v820 BlockEntry type:Tagged pos:2249 <|@
0 1 i822 Add i818 i821 ! type:TaggedNumber [noOSE] pos:2249 <|@
0 0 i823 BoundsCheck i809 i822 type:Tagged [noOSE] pos:2249 <|@
0 1 i824 Shr i809 i138 type:TaggedNumber [noOSE] pos:2249 <|@
0 1 i825 Add i824 i809 type:TaggedNumber [noOSE] pos:2249 <|@
0 3 i827 Add i825 i826 type:TaggedNumber [noOSE] pos:2249 <|@
0 0 i829 BoundsCheck i827 i828 type:Tagged [noOSE] pos:2249 <|@
0 1 s1228 Change i827 i to s type:Smi pos:2249 <|@
0 1 i832 Mul i827 i831 type:TaggedNumber [noOSE] pos:2249 <|@
0 1 i834 Add i832 i826 type:TaggedNumber [noOSE] pos:2249 <|@
0 10 t835 Allocate i834 (N) changes[NewSpacePromotion] [noOSE] pos:2249 <|@
0 0 v837 StoreNamedField t835.%map@0 = t836 changes[Maps] type:Tagged [noOSE] pos:2249 <|@
0 0 v838 StoreNamedField t835.%length@8 = s1228 changes[ArrayLengths] type:Tagged [noOSE] pos:2249 <|@
0 1 i839 LoadNamedField t835.%length@8 type:Smi [noOSE] pos:2249 <|@
0 0 v856 Goto B28 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
568 label () () () () [hir:v820] <|@
570 gap () ([rdi|R];) () () [hir:v820] <|@
572 add-i [rdi|R]= [rdi|R] [constant:821] [id=576|deopt_id=38|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i822] <|@
574 gap ((0) = [rdi|R];) () () () [hir:i822] <|@
576 bounds-check = [rbx|R] [rdi|R] [id=576|deopt_id=39|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i823] <|@
578 gap () ([rdi|R] = [rbx|R];) () () [hir:i823] <|@
580 shift-i [rdi|R]= [rdi|R] [constant:138] [hir:i824] <|@
582 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i824] <|@
584 add-i [rdi|R]= [rdi|R] [rbx|R] [hir:i825] <|@
586 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i825] <|@
588 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i827] <|@
590 gap ((0) = [rdi|R];) () () () [hir:i827] <|@
592 bounds-check = [rdi|R] [constant:828] [id=576|deopt_id=40|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[stack:12];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i829] <|@
594 gap () () () () [hir:i829] <|@
596 smi-tag [r8|R]= [rdi|R] [hir:s1228] <|@
598 gap ((0) = [r8|R];) ([rdi|R];) () () [hir:s1228] <|@
600 mul-i [rdi|R]= [rdi|R] [constant:831] [hir:i832] <|@
602 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i832] <|@
604 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i834] <|@
606 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i834] <|@
608 allocate [r11|R]= [stack:0] [rdi|R] {[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[rdx|R];[stack:6];[stack:11];[rax|R];[rcx|R];[r11|R];[stack:10];[stack:9];[stack:8]} [hir:t835] <|@
610 gap ((0) = [r11|R];) () () () [hir:t835] <|@
612 store-named-field [r11|R].%map@0 <- [constant:836] [hir:v837] <|@
614 gap () () () () [hir:v837] <|@
616 store-named-field [r11|R].%length@8 <- [r8|R] [hir:v838] <|@
618 gap () () () () [hir:v838] <|@
620 load-named-field [rdi|R]= [r11|R] [hir:i839] <|@
622 gap ((0) = [rdi|R];) () () () [hir:i839] <|@
624 gap () ([rdi|R];) () () [hir:v856] <|@
626 goto B28 [hir:v856] <|@
end_LIR
end_block
begin_block
name "B28"
from_bci -1
to_bci -1
predecessors "B27" "B29"
successors "B29" "B30"
xhandlers
flags "dom-loop-succ"
dominator "B27"
loop_depth 2
first_lir_id 628
last_lir_id 634
begin_states
begin_locals
size 1
method "None"
-1 i855 [ i839 i860 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v857 BlockEntry type:Tagged pos:2249 <|@
0 0 t1095 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2249 <|@
0 0 i858 CompareNumericAndBranch GT i855 i814 goto (B29, B30) type:Tagged pos:2249 <|@
end_HIR
begin_LIR
628 label () ((0) = [rdi|R];) () () [hir:v857] <|@
630 gap () () () () [hir:v857] <|@
632 gap () () () () [hir:i858] <|@
634 compare-numeric-and-branch if [rdi|R] > [rsi|R] then B29 else B30 [hir:i858] <|@
end_LIR
end_block
begin_block
name "B29"
from_bci -1
to_bci -1
predecessors "B28"
successors "B28"
xhandlers
flags "dom-loop-succ"
dominator "B28"
loop_depth 2
first_lir_id 636
last_lir_id 650
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v859 BlockEntry type:Tagged pos:2249 <|@
0 2 i860 Sub i855 i138 type:TaggedNumber [noOSE] pos:2249 <|@
0 0 v861 StoreKeyed t835[i860] = t37 changes[ArrayElements] type:Tagged [noOSE] pos:2249 <|@
0 0 v863 Goto B28 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
636 label () () () () [hir:v859] <|@
638 gap () ([rdi|R];) () () [hir:v859] <|@
640 sub-i [rdi|R]= [rdi|R] [constant:138] [hir:i860] <|@
642 gap ((0) = [rdi|R];) () () () [hir:i860] <|@
644 store-keyed [r11|R][[rdi|R]] <- [constant:37] [hir:v861] <|@
646 gap () () () () [hir:v861] <|@
648 gap () ([rdi|R];) () () [hir:v863] <|@
650 goto B28 [hir:v863] <|@
end_LIR
end_block
begin_block
name "B30"
from_bci -1
to_bci -1
predecessors "B28"
successors "B31"
xhandlers
flags
dominator "B28"
loop_depth 1
first_lir_id 652
last_lir_id 658
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v880 BlockEntry type:Tagged pos:2249 <|@
0 0 v881 Goto B31 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
652 label () () () () Dead block replaced with B31 [hir:v880] <|@
654 gap () () () () [hir:v880] <|@
656 gap () ([rsi|R];) () () [hir:v881] <|@
658 goto B31 [hir:v881] <|@
end_LIR
end_block
begin_block
name "B31"
from_bci -1
to_bci -1
predecessors "B30" "B32"
successors "B32" "B33"
xhandlers
flags "dom-loop-succ"
dominator "B30"
loop_depth 2
first_lir_id 660
last_lir_id 666
begin_states
begin_locals
size 1
method "None"
-1 i879 [ i814 i885 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v882 BlockEntry type:Tagged pos:2249 <|@
0 0 t1100 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2249 <|@
0 0 i883 CompareNumericAndBranch GT i879 i208 goto (B32, B33) type:Tagged pos:2249 <|@
end_HIR
begin_LIR
660 label () ((0) = [rsi|R];) () () [hir:v882] <|@
662 gap () () () () [hir:v882] <|@
664 gap () () () () [hir:i883] <|@
666 compare-numeric-and-branch if [rsi|R] > [constant:208] then B32 else B33 [hir:i883] <|@
end_LIR
end_block
begin_block
name "B32"
from_bci -1
to_bci -1
predecessors "B31"
successors "B31"
xhandlers
flags "dom-loop-succ"
dominator "B31"
loop_depth 2
first_lir_id 668
last_lir_id 686
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v884 BlockEntry type:Tagged pos:2249 <|@
0 3 i885 Sub i879 i138 type:TaggedNumber [noOSE] pos:2249 <|@
0 1 t886 LoadKeyed t812[i885] type:Tagged [noOSE] pos:2249 <|@
0 0 v887 StoreKeyed t835[i885] = t886 changes[ArrayElements] type:Tagged [noOSE] pos:2249 <|@
0 0 v889 Goto B31 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
668 label () () () () [hir:v884] <|@
670 gap () ([rsi|R];) () () [hir:v884] <|@
672 sub-i [rsi|R]= [rsi|R] [constant:138] [hir:i885] <|@
674 gap ((0) = [rsi|R];) () () () [hir:i885] <|@
676 load-keyed [rdi|R][rcx|R][[rsi|R]] [hir:t886] <|@
678 gap ((0) = [rdi|R];) () () () [hir:t886] <|@
680 store-keyed [r11|R][[rsi|R]] <- [rdi|R] [hir:v887] <|@
682 gap () () () () [hir:v887] <|@
684 gap () ([rsi|R];) () () [hir:v889] <|@
686 goto B31 [hir:v889] <|@
end_LIR
end_block
begin_block
name "B33"
from_bci -1
to_bci -1
predecessors "B31"
successors "B34"
xhandlers
flags
dominator "B31"
loop_depth 1
first_lir_id 688
last_lir_id 698
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v890 BlockEntry type:Tagged pos:2249 <|@
0 0 v891 StoreNamedField t50.%elements@16 = t835 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:2249 <|@
0 0 v894 Goto B34 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
688 label () () () () [hir:v890] <|@
690 gap () ([rcx|R] = [r11|R];) () () [hir:v890] <|@
692 store-named-field [rdx|R].%elements@16 <- [rcx|R] [hir:v891] <|@
694 gap () () () () [hir:v891] <|@
696 gap () ([rcx|R] = [r11|R];) () () [hir:v894] <|@
698 goto B34 [hir:v894] <|@
end_LIR
end_block
begin_block
name "B34"
from_bci -1
to_bci -1
predecessors "B26" "B33"
successors "B35"
xhandlers
flags
dominator "B25"
loop_depth 1
first_lir_id 700
last_lir_id 718
begin_states
begin_locals
size 1
method "None"
-1 t895 [ t812 t835 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v896 BlockEntry type:Tagged pos:2249 <|@
0 0 t1094 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2249 <|@
0 1 i897 Add i809 i138 type:TaggedNumber [noOSE] pos:2249 <|@
0 1 s1229 Change i897 i to s type:Smi pos:2249 <|@
0 0 v898 StoreNamedField t50.%length@24 = s1229 changes[ArrayLengths] type:Tagged [noOSE] pos:2249 <|@
0 0 v902 Goto B35 type:Tagged pos:2249 <|@
end_HIR
begin_LIR
700 label () ((0) = [rcx|R];) () () [hir:v896] <|@
702 gap () () () () [hir:v896] <|@
704 add-i [rsi|R]= [rbx|R] [constant:138] [hir:i897] <|@
706 gap ((0) = [rsi|R];) () () () [hir:i897] <|@
708 smi-tag [rdi|R]= [rsi|R] [hir:s1229] <|@
710 gap ((0) = [rdi|R];) () () () [hir:s1229] <|@
712 store-named-field [rdx|R].%length@24 <- [rdi|R] [hir:v898] <|@
714 gap () () () () [hir:v898] <|@
716 gap () ([rcx|R];) () () [hir:v902] <|@
718 goto B35 [hir:v902] <|@
end_LIR
end_block
begin_block
name "B35"
from_bci -1
to_bci -1
predecessors "B24" "B34"
successors "B50"
xhandlers
flags
dominator "B23"
loop_depth 1
first_lir_id 720
last_lir_id 730
begin_states
begin_locals
size 1
method "None"
-1 t903 [ t812 t895 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v904 BlockEntry type:Tagged pos:2249 <|@
0 0 t1093 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2249 <|@
0 0 v905 StoreKeyed t903[i809] = t803 changes[ArrayElements] type:Tagged [noOSE] pos:2249 <|@
0 0 v906 Simulate id=563 pop 3 type:Tagged [noOSE] pos:2249 <|@
0 0 v915 Simulate id=507 type:Tagged pos:2082 <|@
0 0 v916 Goto B50 type:Tagged pos:2082 <|@
end_HIR
begin_LIR
720 label () ((0) = [rcx|R];) () () [hir:v904] <|@
722 gap () ([rcx|R]; [rbx|R]; [rax|R];) () () [hir:v904] <|@
724 store-keyed [rcx|R][[rbx|R]] <- [rax|R] [hir:v905] <|@
726 gap () () () () [hir:v905] <|@
728 gap () () () () [hir:v916] <|@
730 goto B50 [hir:v916] <|@
end_LIR
end_block
begin_block
name "B36"
from_bci -1
to_bci -1
predecessors "B19"
successors "B37"
xhandlers
flags
dominator "B19"
loop_depth 1
first_lir_id 732
last_lir_id 738
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v654 BlockEntry type:Tagged pos:2097 <|@
0 0 v655 Simulate id=508 pop 1 / var[13] = t5 type:Tagged pos:2097 <|@
0 0 v656 Goto B37 type:Tagged pos:2097 <|@
end_HIR
begin_LIR
732 label () ([rdx|R] = [stack:5];) () () [hir:v654] <|@
734 gap () () () () [hir:v654] <|@
736 gap () () () () [hir:v656] <|@
738 goto B37 [hir:v656] <|@
end_LIR
end_block
begin_block
name "B37"
from_bci -1
to_bci -1
predecessors "B36"
successors "B39" "B38"
xhandlers
flags
dominator "B36"
loop_depth 1
first_lir_id 740
last_lir_id 790
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v660 BlockEntry type:Tagged pos:2124 <|@
0 0 t663 CheckMaps t50 [0x3f3d14807179] pos:2134 <|@
0 0 t672 PushArguments t797 t605 type:Tagged pos:2141 <|@
0 2 t673 CallJSFunction t671 #2 changes[*] type:Tagged pos:2141 <|@
0 0 v674 Simulate id=534 var[12] = t5, push t796, push t50, push t673 type:Tagged pos:2141 <|@
0 8 i679 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:2134 <|@
0 0 t681 CheckMaps t50 [0x3f3d14807179] [noOSE] pos:2134 <|@
0 8 t682 LoadNamedField t50.%elements@16 type:Tagged [noOSE] pos:2134 <|@
0 0 t683 CheckMaps t682 [0x3f3d14804209] [noOSE] pos:2134 <|@
0 4 i684 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:2134 <|@
0 0 i686 CompareNumericAndBranch EQ i679 i684 goto (B39, B38) type:Tagged pos:2134 <|@
end_HIR
begin_LIR
740 label () () () () [hir:v660] <|@
742 gap () () () () [hir:v660] <|@
744 check-maps = [rdx|R] [id=508|deopt_id=41|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[rbx|R];[constant:5];[constant:5]] [hir:t663] <|@
746 gap () () () () [hir:t663] <|@
748 push-argument = [constant:797] [hir:t672] <|@
750 gap () () () () [hir:t672] <|@
752 push-argument = [rbx|R] [hir:t672] <|@
754 gap () () () () [hir:t672] <|@
756 constant-t [rdi|R]= [hir:t671] <|@
758 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t671] <|@
760 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:11];[stack:10];[stack:9];[stack:8]} [hir:t673] <|@
762 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t673] <|@
764 lazy-bailout = [id=534|deopt_id=42|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[stack:5];[rax|R]] [hir:v674] <|@
766 gap () () ([rdx|R] = [stack:5];) () [hir:v674] <|@
768 load-named-field [rbx|R]= [rdx|R] [hir:i679] <|@
770 gap ((0) = [rbx|R];) () () () [hir:i679] <|@
772 check-maps = [rdx|R] [id=534|deopt_id=43|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t681] <|@
774 gap () () () () [hir:t681] <|@
776 load-named-field [rcx|R]= [rdx|R] [hir:t682] <|@
778 gap ((0) = [rcx|R];) () () () [hir:t682] <|@
780 check-maps = [rcx|R] [id=534|deopt_id=44|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t683] <|@
782 gap () () () () [hir:t683] <|@
784 load-named-field [rsi|R]= [rdx|R] [hir:i684] <|@
786 gap ((0) = [rsi|R];) () () () [hir:i684] <|@
788 gap () () () () [hir:i686] <|@
790 compare-numeric-and-branch if [rbx|R] == [rsi|R] then B39 else B38 [hir:i686] <|@
end_LIR
end_block
begin_block
name "B38"
from_bci -1
to_bci -1
predecessors "B37"
successors "B49"
xhandlers
flags
dominator "B37"
loop_depth 1
first_lir_id 792
last_lir_id 802
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v769 BlockEntry type:Tagged pos:2134 <|@
0 0 i770 BoundsCheck i679 i684 type:Tagged [noOSE] pos:2134 <|@
0 0 v771 Goto B49 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
792 label () () () () [hir:v769] <|@
794 gap () () () () [hir:v769] <|@
796 bounds-check = [rbx|R] [rsi|R] [id=534|deopt_id=45|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i770] <|@
798 gap () () () () [hir:i770] <|@
800 gap () ([rcx|R];) () () [hir:v771] <|@
802 goto B49 [hir:v771] <|@
end_LIR
end_block
begin_block
name "B39"
from_bci -1
to_bci -1
predecessors "B37"
successors "B41" "B40"
xhandlers
flags
dominator "B37"
loop_depth 1
first_lir_id 804
last_lir_id 814
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v687 BlockEntry type:Tagged pos:2134 <|@
0 2 i688 LoadNamedField t682.%length@8 type:Smi [noOSE] pos:2134 <|@
0 0 i689 CompareNumericAndBranch GTE i679 i688 goto (B41, B40) type:Tagged pos:2134 <|@
end_HIR
begin_LIR
804 label () () () () [hir:v687] <|@
806 gap () () () () [hir:v687] <|@
808 load-named-field [rdi|R]= [rcx|R] [hir:i688] <|@
810 gap ((0) = [rdi|R];) () () () [hir:i688] <|@
812 gap () () () () [hir:i689] <|@
814 compare-numeric-and-branch if [rbx|R] >= [rdi|R] then B41 else B40 [hir:i689] <|@
end_LIR
end_block
begin_block
name "B40"
from_bci -1
to_bci -1
predecessors "B39"
successors "B48"
xhandlers
flags
dominator "B39"
loop_depth 1
first_lir_id 816
last_lir_id 822
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v762 BlockEntry type:Tagged pos:2134 <|@
0 0 v763 Goto B48 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
816 label () () () () Dead block replaced with B48 [hir:v762] <|@
818 gap () () () () [hir:v762] <|@
820 gap () ([rcx|R];) () () [hir:v763] <|@
822 goto B48 [hir:v763] <|@
end_LIR
end_block
begin_block
name "B41"
from_bci -1
to_bci -1
predecessors "B39"
successors "B42"
xhandlers
flags
dominator "B39"
loop_depth 1
first_lir_id 824
last_lir_id 882
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v690 BlockEntry type:Tagged pos:2134 <|@
0 1 i692 Add i688 i821 ! type:TaggedNumber [noOSE] pos:2134 <|@
0 0 i693 BoundsCheck i679 i692 type:Tagged [noOSE] pos:2134 <|@
0 1 i694 Shr i679 i138 type:TaggedNumber [noOSE] pos:2134 <|@
0 1 i695 Add i694 i679 type:TaggedNumber [noOSE] pos:2134 <|@
0 3 i697 Add i695 i826 type:TaggedNumber [noOSE] pos:2134 <|@
0 0 i699 BoundsCheck i697 i828 type:Tagged [noOSE] pos:2134 <|@
0 1 s1230 Change i697 i to s type:Smi pos:2134 <|@
0 1 i702 Mul i697 i831 type:TaggedNumber [noOSE] pos:2134 <|@
0 1 i704 Add i702 i826 type:TaggedNumber [noOSE] pos:2134 <|@
0 10 t705 Allocate i704 (N) changes[NewSpacePromotion] [noOSE] pos:2134 <|@
0 0 v707 StoreNamedField t705.%map@0 = t836 changes[Maps] type:Tagged [noOSE] pos:2134 <|@
0 0 v708 StoreNamedField t705.%length@8 = s1230 changes[ArrayLengths] type:Tagged [noOSE] pos:2134 <|@
0 1 i709 LoadNamedField t705.%length@8 type:Smi [noOSE] pos:2134 <|@
0 0 v726 Goto B42 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
824 label () () () () [hir:v690] <|@
826 gap () ([rdi|R];) () () [hir:v690] <|@
828 add-i [rdi|R]= [rdi|R] [constant:821] [id=534|deopt_id=46|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i692] <|@
830 gap ((0) = [rdi|R];) () () () [hir:i692] <|@
832 bounds-check = [rbx|R] [rdi|R] [id=534|deopt_id=47|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i693] <|@
834 gap () ([rdi|R] = [rbx|R];) () () [hir:i693] <|@
836 shift-i [rdi|R]= [rdi|R] [constant:138] [hir:i694] <|@
838 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i694] <|@
840 add-i [rdi|R]= [rdi|R] [rbx|R] [hir:i695] <|@
842 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i695] <|@
844 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i697] <|@
846 gap ((0) = [rdi|R];) () () () [hir:i697] <|@
848 bounds-check = [rdi|R] [constant:828] [id=534|deopt_id=48|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i699] <|@
850 gap () () () () [hir:i699] <|@
852 smi-tag [r8|R]= [rdi|R] [hir:s1230] <|@
854 gap ((0) = [r8|R];) ([rdi|R];) () () [hir:s1230] <|@
856 mul-i [rdi|R]= [rdi|R] [constant:831] [hir:i702] <|@
858 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i702] <|@
860 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i704] <|@
862 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i704] <|@
864 allocate [r11|R]= [stack:0] [rdi|R] {[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[rdx|R];[stack:6];[stack:11];[rax|R];[rcx|R];[r11|R];[stack:10];[stack:9];[stack:8]} [hir:t705] <|@
866 gap ((0) = [r11|R];) () () () [hir:t705] <|@
868 store-named-field [r11|R].%map@0 <- [constant:836] [hir:v707] <|@
870 gap () () () () [hir:v707] <|@
872 store-named-field [r11|R].%length@8 <- [r8|R] [hir:v708] <|@
874 gap () () () () [hir:v708] <|@
876 load-named-field [rdi|R]= [r11|R] [hir:i709] <|@
878 gap ((0) = [rdi|R];) () () () [hir:i709] <|@
880 gap () ([rdi|R];) () () [hir:v726] <|@
882 goto B42 [hir:v726] <|@
end_LIR
end_block
begin_block
name "B42"
from_bci -1
to_bci -1
predecessors "B41" "B43"
successors "B43" "B44"
xhandlers
flags "dom-loop-succ"
dominator "B41"
loop_depth 2
first_lir_id 884
last_lir_id 890
begin_states
begin_locals
size 1
method "None"
-1 i725 [ i709 i730 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v727 BlockEntry type:Tagged pos:2134 <|@
0 0 t1116 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2134 <|@
0 0 i728 CompareNumericAndBranch GT i725 i684 goto (B43, B44) type:Tagged pos:2134 <|@
end_HIR
begin_LIR
884 label () ((0) = [rdi|R];) () () [hir:v727] <|@
886 gap () () () () [hir:v727] <|@
888 gap () () () () [hir:i728] <|@
890 compare-numeric-and-branch if [rdi|R] > [rsi|R] then B43 else B44 [hir:i728] <|@
end_LIR
end_block
begin_block
name "B43"
from_bci -1
to_bci -1
predecessors "B42"
successors "B42"
xhandlers
flags "dom-loop-succ"
dominator "B42"
loop_depth 2
first_lir_id 892
last_lir_id 906
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v729 BlockEntry type:Tagged pos:2134 <|@
0 2 i730 Sub i725 i138 type:TaggedNumber [noOSE] pos:2134 <|@
0 0 v731 StoreKeyed t705[i730] = t37 changes[ArrayElements] type:Tagged [noOSE] pos:2134 <|@
0 0 v733 Goto B42 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
892 label () () () () [hir:v729] <|@
894 gap () ([rdi|R];) () () [hir:v729] <|@
896 sub-i [rdi|R]= [rdi|R] [constant:138] [hir:i730] <|@
898 gap ((0) = [rdi|R];) () () () [hir:i730] <|@
900 store-keyed [r11|R][[rdi|R]] <- [constant:37] [hir:v731] <|@
902 gap () () () () [hir:v731] <|@
904 gap () ([rdi|R];) () () [hir:v733] <|@
906 goto B42 [hir:v733] <|@
end_LIR
end_block
begin_block
name "B44"
from_bci -1
to_bci -1
predecessors "B42"
successors "B45"
xhandlers
flags
dominator "B42"
loop_depth 1
first_lir_id 908
last_lir_id 914
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v750 BlockEntry type:Tagged pos:2134 <|@
0 0 v751 Goto B45 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
908 label () () () () Dead block replaced with B45 [hir:v750] <|@
910 gap () () () () [hir:v750] <|@
912 gap () ([rsi|R];) () () [hir:v751] <|@
914 goto B45 [hir:v751] <|@
end_LIR
end_block
begin_block
name "B45"
from_bci -1
to_bci -1
predecessors "B44" "B46"
successors "B46" "B47"
xhandlers
flags "dom-loop-succ"
dominator "B44"
loop_depth 2
first_lir_id 916
last_lir_id 922
begin_states
begin_locals
size 1
method "None"
-1 i749 [ i684 i755 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v752 BlockEntry type:Tagged pos:2134 <|@
0 0 t1121 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2134 <|@
0 0 i753 CompareNumericAndBranch GT i749 i208 goto (B46, B47) type:Tagged pos:2134 <|@
end_HIR
begin_LIR
916 label () ((0) = [rsi|R];) () () [hir:v752] <|@
918 gap () () () () [hir:v752] <|@
920 gap () () () () [hir:i753] <|@
922 compare-numeric-and-branch if [rsi|R] > [constant:208] then B46 else B47 [hir:i753] <|@
end_LIR
end_block
begin_block
name "B46"
from_bci -1
to_bci -1
predecessors "B45"
successors "B45"
xhandlers
flags "dom-loop-succ"
dominator "B45"
loop_depth 2
first_lir_id 924
last_lir_id 942
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v754 BlockEntry type:Tagged pos:2134 <|@
0 3 i755 Sub i749 i138 type:TaggedNumber [noOSE] pos:2134 <|@
0 1 t756 LoadKeyed t682[i755] type:Tagged [noOSE] pos:2134 <|@
0 0 v757 StoreKeyed t705[i755] = t756 changes[ArrayElements] type:Tagged [noOSE] pos:2134 <|@
0 0 v759 Goto B45 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
924 label () () () () [hir:v754] <|@
926 gap () ([rsi|R];) () () [hir:v754] <|@
928 sub-i [rsi|R]= [rsi|R] [constant:138] [hir:i755] <|@
930 gap ((0) = [rsi|R];) () () () [hir:i755] <|@
932 load-keyed [rdi|R][rcx|R][[rsi|R]] [hir:t756] <|@
934 gap ((0) = [rdi|R];) () () () [hir:t756] <|@
936 store-keyed [r11|R][[rsi|R]] <- [rdi|R] [hir:v757] <|@
938 gap () () () () [hir:v757] <|@
940 gap () ([rsi|R];) () () [hir:v759] <|@
942 goto B45 [hir:v759] <|@
end_LIR
end_block
begin_block
name "B47"
from_bci -1
to_bci -1
predecessors "B45"
successors "B48"
xhandlers
flags
dominator "B45"
loop_depth 1
first_lir_id 944
last_lir_id 954
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v760 BlockEntry type:Tagged pos:2134 <|@
0 0 v761 StoreNamedField t50.%elements@16 = t705 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:2134 <|@
0 0 v764 Goto B48 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
944 label () () () () [hir:v760] <|@
946 gap () ([rcx|R] = [r11|R];) () () [hir:v760] <|@
948 store-named-field [rdx|R].%elements@16 <- [rcx|R] [hir:v761] <|@
950 gap () () () () [hir:v761] <|@
952 gap () ([rcx|R] = [r11|R];) () () [hir:v764] <|@
954 goto B48 [hir:v764] <|@
end_LIR
end_block
begin_block
name "B48"
from_bci -1
to_bci -1
predecessors "B40" "B47"
successors "B49"
xhandlers
flags
dominator "B39"
loop_depth 1
first_lir_id 956
last_lir_id 974
begin_states
begin_locals
size 1
method "None"
-1 t765 [ t682 t705 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v766 BlockEntry type:Tagged pos:2134 <|@
0 0 t1115 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2134 <|@
0 1 i767 Add i679 i138 type:TaggedNumber [noOSE] pos:2134 <|@
0 1 s1231 Change i767 i to s type:Smi pos:2134 <|@
0 0 v768 StoreNamedField t50.%length@24 = s1231 changes[ArrayLengths] type:Tagged [noOSE] pos:2134 <|@
0 0 v772 Goto B49 type:Tagged pos:2134 <|@
end_HIR
begin_LIR
956 label () ((0) = [rcx|R];) () () [hir:v766] <|@
958 gap () () () () [hir:v766] <|@
960 add-i [rsi|R]= [rbx|R] [constant:138] [hir:i767] <|@
962 gap ((0) = [rsi|R];) () () () [hir:i767] <|@
964 smi-tag [rdi|R]= [rsi|R] [hir:s1231] <|@
966 gap ((0) = [rdi|R];) () () () [hir:s1231] <|@
968 store-named-field [rdx|R].%length@24 <- [rdi|R] [hir:v768] <|@
970 gap () () () () [hir:v768] <|@
972 gap () ([rcx|R];) () () [hir:v772] <|@
974 goto B49 [hir:v772] <|@
end_LIR
end_block
begin_block
name "B49"
from_bci -1
to_bci -1
predecessors "B38" "B48"
successors "B50"
xhandlers
flags
dominator "B37"
loop_depth 1
first_lir_id 976
last_lir_id 986
begin_states
begin_locals
size 1
method "None"
-1 t773 [ t682 t765 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v774 BlockEntry type:Tagged pos:2134 <|@
0 0 t1114 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2134 <|@
0 0 v775 StoreKeyed t773[i679] = t673 changes[ArrayElements] type:Tagged [noOSE] pos:2134 <|@
0 0 v776 Simulate id=521 pop 3 type:Tagged [noOSE] pos:2134 <|@
0 0 v913 Simulate id=507 type:Tagged pos:2082 <|@
0 0 v914 Goto B50 type:Tagged pos:2082 <|@
end_HIR
begin_LIR
976 label () ((0) = [rcx|R];) () () [hir:v774] <|@
978 gap () ([rcx|R]; [rbx|R]; [rax|R];) () () [hir:v774] <|@
980 store-keyed [rcx|R][[rbx|R]] <- [rax|R] [hir:v775] <|@
982 gap () () () () [hir:v775] <|@
984 gap () () () () [hir:v914] <|@
986 goto B50 [hir:v914] <|@
end_LIR
end_block
begin_block
name "B50"
from_bci -1
to_bci -1
predecessors "B49" "B35"
successors "B51"
xhandlers
flags
dominator "B19"
loop_depth 1
first_lir_id 988
last_lir_id 1074
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v917 BlockEntry type:Tagged pos:2403 <|@
0 0 t1113 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:2403 <|@
0 0 t918 CheckHeapObject t64 pos:2403 <|@
0 0 t919 CheckInstanceType string t64 pos:2403 <|@
0 0 t926 CheckMaps t576 [0x3f3d1480ada1] pos:2418 <|@
0 1 t927 LoadNamedField t576.%elements@16 type:Tagged pos:2418 <|@
0 1 i928 LoadNamedField t576.%length@24 type:Smi pos:2418 <|@
0 0 i929 BoundsCheck i208 i928 type:Tagged pos:2418 <|@
0 4 t930 LoadKeyed t927[i208] t576 check_hole type:Tagged pos:2418 <|@
0 0 t931 CheckHeapObject t930 pos:2421 <|@
0 0 t932 CheckInstanceType string t930 pos:2421 <|@
0 1 i933 LoadNamedField t930.%length@16 type:Smi pos:2421 <|@
0 1 t936 LoadNamedField t934.[in-object]@48 type:Tagged pos:2403 <|@
0 1 t1232 Change i933 i to t pos:2403 <|@
0 0 t939 PushArguments t64 t1232 type:Tagged pos:2403 <|@
0 3 t940 CallWithDescriptor t938 t936 t934 i138 i618 #2 changes[*] type:Tagged pos:2403 <|@
0 0 v941 Simulate id=605 var[8] = t5, push t940 type:Tagged pos:2403 <|@
0 0 v942 Simulate id=401 pop 1 / var[1] = t940 type:Tagged pos:1484 <|@
0 0 v943 Goto B51 type:Tagged pos:1484 <|@
end_HIR
begin_LIR
988 label () () () () [hir:v917] <|@
990 gap () () ([rcx|R] = [stack:6];) () [hir:v917] <|@
992 check-non-smi = [rcx|R] [id=507|deopt_id=49|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t918] <|@
994 gap () () () () [hir:t918] <|@
996 check-instance-type = [rcx|R] [id=507|deopt_id=50|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:11];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t919] <|@
998 gap () () ([rax|R] = [stack:11];) () [hir:t919] <|@
1000 check-maps = [rax|R] [id=507|deopt_id=51|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t926] <|@
1002 gap () () () () [hir:t926] <|@
1004 load-named-field [rbx|R]= [rax|R] [hir:t927] <|@
1006 gap ((0) = [rbx|R];) () () () [hir:t927] <|@
1008 load-named-field [rsi|R]= [rax|R] [hir:i928] <|@
1010 gap ((0) = [rsi|R];) () () () [hir:i928] <|@
1012 bounds-check = [constant:208] [rsi|R] [id=507|deopt_id=52|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i929] <|@
1014 gap () () () () [hir:i929] <|@
1016 load-keyed [rbx|R][rbx|R][[constant:208]] [id=507|deopt_id=53|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t930] <|@
1018 gap ((0) = [rbx|R];) () () () [hir:t930] <|@
1020 check-non-smi = [rbx|R] [id=507|deopt_id=54|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t931] <|@
1022 gap () () () () [hir:t931] <|@
1024 check-instance-type = [rbx|R] [id=507|deopt_id=55|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t932] <|@
1026 gap () () () () [hir:t932] <|@
1028 load-named-field [rax|R]= [rbx|R] [hir:i933] <|@
1030 gap ((0) = [rax|R];) () () () [hir:i933] <|@
1032 constant-t [rdi|R]= [hir:t934] <|@
1034 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
1036 load-named-field [rsi|R]= [rdi|R] [hir:t936] <|@
1038 gap ((0) = [rsi|R];) () () () [hir:t936] <|@
1040 smi-tag [rbx|R]= [rax|R] [hir:t1232] <|@
1042 gap ((0) = [rbx|R];) () () () [hir:t1232] <|@
1044 push-argument = [rcx|R] [hir:t939] <|@
1046 gap () () () () [hir:t939] <|@
1048 push-argument = [rbx|R] [hir:t939] <|@
1050 gap () () () () [hir:t939] <|@
1052 constant-t [rdi|R]= [hir:t934] <|@
1054 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
1056 constant-i [rax|R]= [hir:i138] <|@
1058 gap ((0) = [rax|R];) () () () [hir:i138] <|@
1060 constant-i [rbx|R]= [hir:i618] <|@
1062 gap ((0) = [rbx|R];) ([rsi|R]; [rdi|R]; [rax|R]; [rbx|R];) () () [hir:i618] <|@
1064 call-with-descriptor [rax|R][constant:938] [rsi|R] [rdi|R] [rax|R] [rbx|R] #1 / {[rsi|R];[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:10];[stack:9];[stack:8]} [hir:t940] <|@
1066 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t940] <|@
1068 lazy-bailout = [id=605|deopt_id=56|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v941] <|@
1070 gap () () () () [hir:v941] <|@
1072 gap () ([rax|R];) () () [hir:v943] <|@
1074 goto B51 [hir:v943] <|@
end_LIR
end_block
begin_block
name "B51"
from_bci -1
to_bci -1
predecessors "B50" "B10"
successors "B83"
xhandlers
flags
dominator "B8"
loop_depth 1
first_lir_id 1076
last_lir_id 1082
begin_states
begin_locals
size 1
method "None"
1 t947 [ t940 t64 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v952 BlockEntry type:Tagged pos:1074 <|@
0 0 t1090 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1074 <|@
0 0 v953 Simulate id=233 type:Tagged pos:1074 <|@
0 0 v954 Goto B83 type:Tagged pos:1074 <|@
end_HIR
begin_LIR
1076 label () ((0) = [rax|R];) () () Dead block replaced with B83 [hir:v952] <|@
1078 gap () () () () [hir:v952] <|@
1080 gap () ([rax|R];) () () [hir:v954] <|@
1082 goto B83 [hir:v954] <|@
end_LIR
end_block
begin_block
name "B52"
from_bci -1
to_bci -1
predecessors "B6"
successors "B53"
xhandlers
flags
dominator "B6"
loop_depth 1
first_lir_id 1084
last_lir_id 1090
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v267 BlockEntry type:Tagged pos:1085 <|@
0 0 v268 Simulate id=234 pop 1 / var[8] = t263 type:Tagged pos:1085 <|@
0 0 v269 Goto B53 type:Tagged pos:1085 <|@
end_HIR
begin_LIR
1084 label () () () () Dead block replaced with B53 [hir:v267] <|@
1086 gap () () () () [hir:v267] <|@
1088 gap () () () () [hir:v269] <|@
1090 goto B53 [hir:v269] <|@
end_LIR
end_block
begin_block
name "B53"
from_bci -1
to_bci -1
predecessors "B52"
successors "B68" "B54"
xhandlers
flags
dominator "B52"
loop_depth 1
first_lir_id 1092
last_lir_id 1138
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v273 BlockEntry type:Tagged pos:1150 <|@
0 0 t276 CheckHeapObject t263 pos:1155 <|@
0 0 t277 CheckMaps t263 [0x3f3d1480ada1] pos:1155 <|@
0 2 t278 LoadNamedField t263.%elements@16 type:Tagged pos:1155 <|@
0 2 i279 LoadNamedField t263.%length@24 type:Smi pos:1155 <|@
0 0 i280 BoundsCheck i138 i279 type:Tagged pos:1155 <|@
0 0 i289 BoundsCheck i618 i279 type:Tagged pos:1183 <|@
0 5 t281 LoadKeyed t278[i138] t263 check_hole type:Tagged pos:1155 <|@
0 4 t290 LoadKeyed t278[i618] t263 check_hole type:Tagged pos:1183 <|@
0 0 t294 CheckHeapObject t281 pos:1212 <|@
0 0 t295 CheckInstanceType internalized_string t281 pos:1212 <|@
0 0 v297 CompareObjectEqAndBranch t281 t293 goto (B68, B54) type:Tagged pos:1212 <|@
end_HIR
begin_LIR
1092 label () () () () [hir:v273] <|@
1094 gap () () () () [hir:v273] <|@
1096 check-non-smi = [rax|R] [id=234|deopt_id=57|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t276] <|@
1098 gap () () () () [hir:t276] <|@
1100 check-maps = [rax|R] [id=234|deopt_id=58|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t277] <|@
1102 gap () () () () [hir:t277] <|@
1104 load-named-field [rbx|R]= [rax|R] [hir:t278] <|@
1106 gap ((0) = [rbx|R];) () () () [hir:t278] <|@
1108 load-named-field [rdx|R]= [rax|R] [hir:i279] <|@
1110 gap ((0) = [rdx|R];) () () () [hir:i279] <|@
1112 bounds-check = [constant:138] [rdx|R] [id=234|deopt_id=59|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i280] <|@
1114 gap () () () () [hir:i280] <|@
1116 bounds-check = [constant:618] [rdx|R] [id=234|deopt_id=60|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i289] <|@
1118 gap () () () () [hir:i289] <|@
1120 load-keyed [rdx|R][rbx|R][[constant:138]] [id=234|deopt_id=61|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t281] <|@
1122 gap ([stack:11] = [rdx|R];) () () () [hir:t281] <|@
1124 load-keyed [rbx|R][rbx|R][[constant:618]] [id=234|deopt_id=62|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t290] <|@
1126 gap ((0) = [rbx|R];) () () () [hir:t290] <|@
1128 check-non-smi = [rdx|R] [id=234|deopt_id=63|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t294] <|@
1130 gap () () () () [hir:t294] <|@
1132 check-instance-type = [rdx|R] [id=234|deopt_id=64|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t295] <|@
1134 gap () () () () [hir:t295] <|@
1136 gap () () () () [hir:v297] <|@
1138 cmp-object-eq-and-branch = [rdx|R] [constant:293] [hir:v297] <|@
end_LIR
end_block
begin_block
name "B54"
from_bci -1
to_bci -1
predecessors "B53"
successors "B55"
xhandlers
flags
dominator "B53"
loop_depth 1
first_lir_id 1140
last_lir_id 1146
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v301 BlockEntry type:Tagged pos:1212 <|@
0 0 v302 Simulate id=295 var[11] = t281, var[9] = t290 type:Tagged pos:1212 <|@
0 0 v303 Goto B55 type:Tagged pos:1212 <|@
end_HIR
begin_LIR
1140 label () () () () Dead block replaced with B55 [hir:v301] <|@
1142 gap () () () () [hir:v301] <|@
1144 gap () () () () [hir:v303] <|@
1146 goto B55 [hir:v303] <|@
end_LIR
end_block
begin_block
name "B55"
from_bci -1
to_bci -1
predecessors "B54"
successors "B57" "B56"
xhandlers
flags
dominator "B54"
loop_depth 1
first_lir_id 1148
last_lir_id 1198
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v421 BlockEntry type:Tagged pos:1310 <|@
0 0 t424 CheckMaps t50 [0x3f3d14807179] pos:1320 <|@
0 0 t433 PushArguments t797 t290 type:Tagged pos:1327 <|@
0 2 t434 CallJSFunction t432 #2 changes[*] type:Tagged pos:1327 <|@
0 0 v435 Simulate id=351 var[9] = t5, push t796, push t50, push t434 type:Tagged pos:1327 <|@
0 8 i440 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:1320 <|@
0 0 t442 CheckMaps t50 [0x3f3d14807179] [noOSE] pos:1320 <|@
0 8 t443 LoadNamedField t50.%elements@16 type:Tagged [noOSE] pos:1320 <|@
0 0 t444 CheckMaps t443 [0x3f3d14804209] [noOSE] pos:1320 <|@
0 4 i445 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:1320 <|@
0 0 i447 CompareNumericAndBranch EQ i440 i445 goto (B57, B56) type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1148 label () () () () [hir:v421] <|@
1150 gap () () ([rcx|R] = [stack:5];) () [hir:v421] <|@
1152 check-maps = [rcx|R] [id=295|deopt_id=65|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[rbx|R];[rcx|R];[rdx|R];[constant:5];[constant:5];[constant:5]] [hir:t424] <|@
1154 gap () () () () [hir:t424] <|@
1156 push-argument = [constant:797] [hir:t433] <|@
1158 gap () () () () [hir:t433] <|@
1160 push-argument = [rbx|R] [hir:t433] <|@
1162 gap () () () () [hir:t433] <|@
1164 constant-t [rdi|R]= [hir:t432] <|@
1166 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t432] <|@
1168 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:13];[stack:11];[stack:10];[stack:9];[stack:8]} [hir:t434] <|@
1170 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t434] <|@
1172 lazy-bailout = [id=351|deopt_id=66|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[stack:5];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[stack:5];[rax|R]] [hir:v435] <|@
1174 gap () () ([rdx|R] = [stack:5];) () [hir:v435] <|@
1176 load-named-field [rbx|R]= [rdx|R] [hir:i440] <|@
1178 gap ((0) = [rbx|R];) () () () [hir:i440] <|@
1180 check-maps = [rdx|R] [id=351|deopt_id=67|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t442] <|@
1182 gap () () () () [hir:t442] <|@
1184 load-named-field [rcx|R]= [rdx|R] [hir:t443] <|@
1186 gap ((0) = [rcx|R];) () () () [hir:t443] <|@
1188 check-maps = [rcx|R] [id=351|deopt_id=68|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t444] <|@
1190 gap () () () () [hir:t444] <|@
1192 load-named-field [rsi|R]= [rdx|R] [hir:i445] <|@
1194 gap ((0) = [rsi|R];) () () () [hir:i445] <|@
1196 gap () () () () [hir:i447] <|@
1198 compare-numeric-and-branch if [rbx|R] == [rsi|R] then B57 else B56 [hir:i447] <|@
end_LIR
end_block
begin_block
name "B56"
from_bci -1
to_bci -1
predecessors "B55"
successors "B67"
xhandlers
flags
dominator "B55"
loop_depth 1
first_lir_id 1200
last_lir_id 1210
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v530 BlockEntry type:Tagged pos:1320 <|@
0 0 i531 BoundsCheck i440 i445 type:Tagged [noOSE] pos:1320 <|@
0 0 v532 Goto B67 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1200 label () () () () [hir:v530] <|@
1202 gap () () () () [hir:v530] <|@
1204 bounds-check = [rbx|R] [rsi|R] [id=351|deopt_id=69|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i531] <|@
1206 gap () () () () [hir:i531] <|@
1208 gap () ([rcx|R];) () () [hir:v532] <|@
1210 goto B67 [hir:v532] <|@
end_LIR
end_block
begin_block
name "B57"
from_bci -1
to_bci -1
predecessors "B55"
successors "B59" "B58"
xhandlers
flags
dominator "B55"
loop_depth 1
first_lir_id 1212
last_lir_id 1222
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v448 BlockEntry type:Tagged pos:1320 <|@
0 2 i449 LoadNamedField t443.%length@8 type:Smi [noOSE] pos:1320 <|@
0 0 i450 CompareNumericAndBranch GTE i440 i449 goto (B59, B58) type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1212 label () () () () [hir:v448] <|@
1214 gap () () () () [hir:v448] <|@
1216 load-named-field [rdi|R]= [rcx|R] [hir:i449] <|@
1218 gap ((0) = [rdi|R];) () () () [hir:i449] <|@
1220 gap () () () () [hir:i450] <|@
1222 compare-numeric-and-branch if [rbx|R] >= [rdi|R] then B59 else B58 [hir:i450] <|@
end_LIR
end_block
begin_block
name "B58"
from_bci -1
to_bci -1
predecessors "B57"
successors "B66"
xhandlers
flags
dominator "B57"
loop_depth 1
first_lir_id 1224
last_lir_id 1230
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v523 BlockEntry type:Tagged pos:1320 <|@
0 0 v524 Goto B66 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1224 label () () () () Dead block replaced with B66 [hir:v523] <|@
1226 gap () () () () [hir:v523] <|@
1228 gap () ([rcx|R];) () () [hir:v524] <|@
1230 goto B66 [hir:v524] <|@
end_LIR
end_block
begin_block
name "B59"
from_bci -1
to_bci -1
predecessors "B57"
successors "B60"
xhandlers
flags
dominator "B57"
loop_depth 1
first_lir_id 1232
last_lir_id 1290
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v451 BlockEntry type:Tagged pos:1320 <|@
0 1 i453 Add i449 i821 ! type:TaggedNumber [noOSE] pos:1320 <|@
0 0 i454 BoundsCheck i440 i453 type:Tagged [noOSE] pos:1320 <|@
0 1 i455 Shr i440 i138 type:TaggedNumber [noOSE] pos:1320 <|@
0 1 i456 Add i455 i440 type:TaggedNumber [noOSE] pos:1320 <|@
0 3 i458 Add i456 i826 type:TaggedNumber [noOSE] pos:1320 <|@
0 0 i460 BoundsCheck i458 i828 type:Tagged [noOSE] pos:1320 <|@
0 1 s1233 Change i458 i to s type:Smi pos:1320 <|@
0 1 i463 Mul i458 i831 type:TaggedNumber [noOSE] pos:1320 <|@
0 1 i465 Add i463 i826 type:TaggedNumber [noOSE] pos:1320 <|@
0 10 t466 Allocate i465 (N) changes[NewSpacePromotion] [noOSE] pos:1320 <|@
0 0 v468 StoreNamedField t466.%map@0 = t836 changes[Maps] type:Tagged [noOSE] pos:1320 <|@
0 0 v469 StoreNamedField t466.%length@8 = s1233 changes[ArrayLengths] type:Tagged [noOSE] pos:1320 <|@
0 1 i470 LoadNamedField t466.%length@8 type:Smi [noOSE] pos:1320 <|@
0 0 v487 Goto B60 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1232 label () () () () [hir:v451] <|@
1234 gap () ([rdi|R];) () () [hir:v451] <|@
1236 add-i [rdi|R]= [rdi|R] [constant:821] [id=351|deopt_id=70|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i453] <|@
1238 gap ((0) = [rdi|R];) () () () [hir:i453] <|@
1240 bounds-check = [rbx|R] [rdi|R] [id=351|deopt_id=71|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i454] <|@
1242 gap () ([rdi|R] = [rbx|R];) () () [hir:i454] <|@
1244 shift-i [rdi|R]= [rdi|R] [constant:138] [hir:i455] <|@
1246 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i455] <|@
1248 add-i [rdi|R]= [rdi|R] [rbx|R] [hir:i456] <|@
1250 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i456] <|@
1252 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i458] <|@
1254 gap ((0) = [rdi|R];) () () () [hir:i458] <|@
1256 bounds-check = [rdi|R] [constant:828] [id=351|deopt_id=72|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i460] <|@
1258 gap () () () () [hir:i460] <|@
1260 smi-tag [r8|R]= [rdi|R] [hir:s1233] <|@
1262 gap ((0) = [r8|R];) ([rdi|R];) () () [hir:s1233] <|@
1264 mul-i [rdi|R]= [rdi|R] [constant:831] [hir:i463] <|@
1266 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i463] <|@
1268 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i465] <|@
1270 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i465] <|@
1272 allocate [r11|R]= [stack:0] [rdi|R] {[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[rdx|R];[stack:6];[stack:13];[stack:11];[rax|R];[rcx|R];[r11|R];[stack:10];[stack:9];[stack:8]} [hir:t466] <|@
1274 gap ((0) = [r11|R];) () () () [hir:t466] <|@
1276 store-named-field [r11|R].%map@0 <- [constant:836] [hir:v468] <|@
1278 gap () () () () [hir:v468] <|@
1280 store-named-field [r11|R].%length@8 <- [r8|R] [hir:v469] <|@
1282 gap () () () () [hir:v469] <|@
1284 load-named-field [rdi|R]= [r11|R] [hir:i470] <|@
1286 gap ((0) = [rdi|R];) () () () [hir:i470] <|@
1288 gap () ([rdi|R];) () () [hir:v487] <|@
1290 goto B60 [hir:v487] <|@
end_LIR
end_block
begin_block
name "B60"
from_bci -1
to_bci -1
predecessors "B59" "B61"
successors "B61" "B62"
xhandlers
flags "dom-loop-succ"
dominator "B59"
loop_depth 2
first_lir_id 1292
last_lir_id 1298
begin_states
begin_locals
size 1
method "None"
-1 i486 [ i470 i491 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v488 BlockEntry type:Tagged pos:1320 <|@
0 0 t1145 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1320 <|@
0 0 i489 CompareNumericAndBranch GT i486 i445 goto (B61, B62) type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1292 label () ((0) = [rdi|R];) () () [hir:v488] <|@
1294 gap () () () () [hir:v488] <|@
1296 gap () () () () [hir:i489] <|@
1298 compare-numeric-and-branch if [rdi|R] > [rsi|R] then B61 else B62 [hir:i489] <|@
end_LIR
end_block
begin_block
name "B61"
from_bci -1
to_bci -1
predecessors "B60"
successors "B60"
xhandlers
flags "dom-loop-succ"
dominator "B60"
loop_depth 2
first_lir_id 1300
last_lir_id 1314
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v490 BlockEntry type:Tagged pos:1320 <|@
0 2 i491 Sub i486 i138 type:TaggedNumber [noOSE] pos:1320 <|@
0 0 v492 StoreKeyed t466[i491] = t37 changes[ArrayElements] type:Tagged [noOSE] pos:1320 <|@
0 0 v494 Goto B60 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1300 label () () () () [hir:v490] <|@
1302 gap () ([rdi|R];) () () [hir:v490] <|@
1304 sub-i [rdi|R]= [rdi|R] [constant:138] [hir:i491] <|@
1306 gap ((0) = [rdi|R];) () () () [hir:i491] <|@
1308 store-keyed [r11|R][[rdi|R]] <- [constant:37] [hir:v492] <|@
1310 gap () () () () [hir:v492] <|@
1312 gap () ([rdi|R];) () () [hir:v494] <|@
1314 goto B60 [hir:v494] <|@
end_LIR
end_block
begin_block
name "B62"
from_bci -1
to_bci -1
predecessors "B60"
successors "B63"
xhandlers
flags
dominator "B60"
loop_depth 1
first_lir_id 1316
last_lir_id 1322
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v511 BlockEntry type:Tagged pos:1320 <|@
0 0 v512 Goto B63 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1316 label () () () () Dead block replaced with B63 [hir:v511] <|@
1318 gap () () () () [hir:v511] <|@
1320 gap () ([rsi|R];) () () [hir:v512] <|@
1322 goto B63 [hir:v512] <|@
end_LIR
end_block
begin_block
name "B63"
from_bci -1
to_bci -1
predecessors "B62" "B64"
successors "B64" "B65"
xhandlers
flags "dom-loop-succ"
dominator "B62"
loop_depth 2
first_lir_id 1324
last_lir_id 1330
begin_states
begin_locals
size 1
method "None"
-1 i510 [ i445 i516 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v513 BlockEntry type:Tagged pos:1320 <|@
0 0 t1150 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1320 <|@
0 0 i514 CompareNumericAndBranch GT i510 i208 goto (B64, B65) type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1324 label () ((0) = [rsi|R];) () () [hir:v513] <|@
1326 gap () () () () [hir:v513] <|@
1328 gap () () () () [hir:i514] <|@
1330 compare-numeric-and-branch if [rsi|R] > [constant:208] then B64 else B65 [hir:i514] <|@
end_LIR
end_block
begin_block
name "B64"
from_bci -1
to_bci -1
predecessors "B63"
successors "B63"
xhandlers
flags "dom-loop-succ"
dominator "B63"
loop_depth 2
first_lir_id 1332
last_lir_id 1350
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v515 BlockEntry type:Tagged pos:1320 <|@
0 3 i516 Sub i510 i138 type:TaggedNumber [noOSE] pos:1320 <|@
0 1 t517 LoadKeyed t443[i516] type:Tagged [noOSE] pos:1320 <|@
0 0 v518 StoreKeyed t466[i516] = t517 changes[ArrayElements] type:Tagged [noOSE] pos:1320 <|@
0 0 v520 Goto B63 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1332 label () () () () [hir:v515] <|@
1334 gap () ([rsi|R];) () () [hir:v515] <|@
1336 sub-i [rsi|R]= [rsi|R] [constant:138] [hir:i516] <|@
1338 gap ((0) = [rsi|R];) () () () [hir:i516] <|@
1340 load-keyed [rdi|R][rcx|R][[rsi|R]] [hir:t517] <|@
1342 gap ((0) = [rdi|R];) () () () [hir:t517] <|@
1344 store-keyed [r11|R][[rsi|R]] <- [rdi|R] [hir:v518] <|@
1346 gap () () () () [hir:v518] <|@
1348 gap () ([rsi|R];) () () [hir:v520] <|@
1350 goto B63 [hir:v520] <|@
end_LIR
end_block
begin_block
name "B65"
from_bci -1
to_bci -1
predecessors "B63"
successors "B66"
xhandlers
flags
dominator "B63"
loop_depth 1
first_lir_id 1352
last_lir_id 1362
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v521 BlockEntry type:Tagged pos:1320 <|@
0 0 v522 StoreNamedField t50.%elements@16 = t466 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:1320 <|@
0 0 v525 Goto B66 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1352 label () () () () [hir:v521] <|@
1354 gap () ([rcx|R] = [r11|R];) () () [hir:v521] <|@
1356 store-named-field [rdx|R].%elements@16 <- [rcx|R] [hir:v522] <|@
1358 gap () () () () [hir:v522] <|@
1360 gap () ([rcx|R] = [r11|R];) () () [hir:v525] <|@
1362 goto B66 [hir:v525] <|@
end_LIR
end_block
begin_block
name "B66"
from_bci -1
to_bci -1
predecessors "B58" "B65"
successors "B67"
xhandlers
flags
dominator "B57"
loop_depth 1
first_lir_id 1364
last_lir_id 1382
begin_states
begin_locals
size 1
method "None"
-1 t526 [ t443 t466 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v527 BlockEntry type:Tagged pos:1320 <|@
0 0 t1144 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1320 <|@
0 1 i528 Add i440 i138 type:TaggedNumber [noOSE] pos:1320 <|@
0 1 s1234 Change i528 i to s type:Smi pos:1320 <|@
0 0 v529 StoreNamedField t50.%length@24 = s1234 changes[ArrayLengths] type:Tagged [noOSE] pos:1320 <|@
0 0 v533 Goto B67 type:Tagged pos:1320 <|@
end_HIR
begin_LIR
1364 label () ((0) = [rcx|R];) () () [hir:v527] <|@
1366 gap () () () () [hir:v527] <|@
1368 add-i [rsi|R]= [rbx|R] [constant:138] [hir:i528] <|@
1370 gap ((0) = [rsi|R];) () () () [hir:i528] <|@
1372 smi-tag [rdi|R]= [rsi|R] [hir:s1234] <|@
1374 gap ((0) = [rdi|R];) () () () [hir:s1234] <|@
1376 store-named-field [rdx|R].%length@24 <- [rdi|R] [hir:v529] <|@
1378 gap () () () () [hir:v529] <|@
1380 gap () ([rcx|R];) () () [hir:v533] <|@
1382 goto B67 [hir:v533] <|@
end_LIR
end_block
begin_block
name "B67"
from_bci -1
to_bci -1
predecessors "B56" "B66"
successors "B82"
xhandlers
flags
dominator "B55"
loop_depth 1
first_lir_id 1384
last_lir_id 1394
begin_states
begin_locals
size 1
method "None"
-1 t534 [ t443 t526 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v535 BlockEntry type:Tagged pos:1320 <|@
0 0 t1143 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1320 <|@
0 0 v536 StoreKeyed t534[i440] = t434 changes[ArrayElements] type:Tagged [noOSE] pos:1320 <|@
0 0 v537 Simulate id=338 pop 3 type:Tagged [noOSE] pos:1320 <|@
0 0 v540 Simulate id=293 type:Tagged pos:1201 <|@
0 0 v541 Goto B82 type:Tagged pos:1201 <|@
end_HIR
begin_LIR
1384 label () ((0) = [rcx|R];) () () [hir:v535] <|@
1386 gap () ([rcx|R]; [rbx|R]; [rax|R];) () () [hir:v535] <|@
1388 store-keyed [rcx|R][[rbx|R]] <- [rax|R] [hir:v536] <|@
1390 gap () () () () [hir:v536] <|@
1392 gap () () () () [hir:v541] <|@
1394 goto B82 [hir:v541] <|@
end_LIR
end_block
begin_block
name "B68"
from_bci -1
to_bci -1
predecessors "B53"
successors "B69"
xhandlers
flags
dominator "B53"
loop_depth 1
first_lir_id 1396
last_lir_id 1402
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v298 BlockEntry type:Tagged pos:1212 <|@
0 0 v299 Simulate id=294 var[11] = t281, var[9] = t290 type:Tagged pos:1212 <|@
0 0 v300 Goto B69 type:Tagged pos:1212 <|@
end_HIR
begin_LIR
1396 label () ([rdx|R] = [stack:5];) () () [hir:v298] <|@
1398 gap () () () () [hir:v298] <|@
1400 gap () () () () [hir:v300] <|@
1402 goto B69 [hir:v300] <|@
end_LIR
end_block
begin_block
name "B69"
from_bci -1
to_bci -1
predecessors "B68"
successors "B71" "B70"
xhandlers
flags
dominator "B68"
loop_depth 1
first_lir_id 1404
last_lir_id 1454
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v304 BlockEntry type:Tagged pos:1239 <|@
0 0 t307 CheckMaps t50 [0x3f3d14807179] pos:1249 <|@
0 0 t316 PushArguments t797 t290 type:Tagged pos:1256 <|@
0 2 t317 CallJSFunction t315 #2 changes[*] type:Tagged pos:1256 <|@
0 0 v318 Simulate id=320 var[9] = t5, push t796, push t50, push t317 type:Tagged pos:1256 <|@
0 8 i323 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:1249 <|@
0 0 t325 CheckMaps t50 [0x3f3d14807179] [noOSE] pos:1249 <|@
0 8 t326 LoadNamedField t50.%elements@16 type:Tagged [noOSE] pos:1249 <|@
0 0 t327 CheckMaps t326 [0x3f3d14804209] [noOSE] pos:1249 <|@
0 4 i328 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:1249 <|@
0 0 i330 CompareNumericAndBranch EQ i323 i328 goto (B71, B70) type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1404 label () () () () [hir:v304] <|@
1406 gap () () () () [hir:v304] <|@
1408 check-maps = [rdx|R] [id=294|deopt_id=73|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[rbx|R];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t307] <|@
1410 gap () () () () [hir:t307] <|@
1412 push-argument = [constant:797] [hir:t316] <|@
1414 gap () () () () [hir:t316] <|@
1416 push-argument = [rbx|R] [hir:t316] <|@
1418 gap () () () () [hir:t316] <|@
1420 constant-t [rdi|R]= [hir:t315] <|@
1422 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t315] <|@
1424 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:13];[stack:11];[stack:10];[stack:9];[stack:8]} [hir:t317] <|@
1426 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t317] <|@
1428 lazy-bailout = [id=320|deopt_id=74|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[stack:5];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[stack:5];[rax|R]] [hir:v318] <|@
1430 gap () () ([rdx|R] = [stack:5];) () [hir:v318] <|@
1432 load-named-field [rbx|R]= [rdx|R] [hir:i323] <|@
1434 gap ((0) = [rbx|R];) () () () [hir:i323] <|@
1436 check-maps = [rdx|R] [id=320|deopt_id=75|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t325] <|@
1438 gap () () () () [hir:t325] <|@
1440 load-named-field [rcx|R]= [rdx|R] [hir:t326] <|@
1442 gap ((0) = [rcx|R];) () () () [hir:t326] <|@
1444 check-maps = [rcx|R] [id=320|deopt_id=76|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t327] <|@
1446 gap () () () () [hir:t327] <|@
1448 load-named-field [rsi|R]= [rdx|R] [hir:i328] <|@
1450 gap ((0) = [rsi|R];) () () () [hir:i328] <|@
1452 gap () () () () [hir:i330] <|@
1454 compare-numeric-and-branch if [rbx|R] == [rsi|R] then B71 else B70 [hir:i330] <|@
end_LIR
end_block
begin_block
name "B70"
from_bci -1
to_bci -1
predecessors "B69"
successors "B81"
xhandlers
flags
dominator "B69"
loop_depth 1
first_lir_id 1456
last_lir_id 1466
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v413 BlockEntry type:Tagged pos:1249 <|@
0 0 i414 BoundsCheck i323 i328 type:Tagged [noOSE] pos:1249 <|@
0 0 v415 Goto B81 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1456 label () () () () [hir:v413] <|@
1458 gap () () () () [hir:v413] <|@
1460 bounds-check = [rbx|R] [rsi|R] [id=320|deopt_id=77|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i414] <|@
1462 gap () () () () [hir:i414] <|@
1464 gap () ([rcx|R];) () () [hir:v415] <|@
1466 goto B81 [hir:v415] <|@
end_LIR
end_block
begin_block
name "B71"
from_bci -1
to_bci -1
predecessors "B69"
successors "B73" "B72"
xhandlers
flags
dominator "B69"
loop_depth 1
first_lir_id 1468
last_lir_id 1478
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v331 BlockEntry type:Tagged pos:1249 <|@
0 2 i332 LoadNamedField t326.%length@8 type:Smi [noOSE] pos:1249 <|@
0 0 i333 CompareNumericAndBranch GTE i323 i332 goto (B73, B72) type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1468 label () () () () [hir:v331] <|@
1470 gap () () () () [hir:v331] <|@
1472 load-named-field [rdi|R]= [rcx|R] [hir:i332] <|@
1474 gap ((0) = [rdi|R];) () () () [hir:i332] <|@
1476 gap () () () () [hir:i333] <|@
1478 compare-numeric-and-branch if [rbx|R] >= [rdi|R] then B73 else B72 [hir:i333] <|@
end_LIR
end_block
begin_block
name "B72"
from_bci -1
to_bci -1
predecessors "B71"
successors "B80"
xhandlers
flags
dominator "B71"
loop_depth 1
first_lir_id 1480
last_lir_id 1486
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v406 BlockEntry type:Tagged pos:1249 <|@
0 0 v407 Goto B80 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1480 label () () () () Dead block replaced with B80 [hir:v406] <|@
1482 gap () () () () [hir:v406] <|@
1484 gap () ([rcx|R];) () () [hir:v407] <|@
1486 goto B80 [hir:v407] <|@
end_LIR
end_block
begin_block
name "B73"
from_bci -1
to_bci -1
predecessors "B71"
successors "B74"
xhandlers
flags
dominator "B71"
loop_depth 1
first_lir_id 1488
last_lir_id 1546
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v334 BlockEntry type:Tagged pos:1249 <|@
0 1 i336 Add i332 i821 ! type:TaggedNumber [noOSE] pos:1249 <|@
0 0 i337 BoundsCheck i323 i336 type:Tagged [noOSE] pos:1249 <|@
0 1 i338 Shr i323 i138 type:TaggedNumber [noOSE] pos:1249 <|@
0 1 i339 Add i338 i323 type:TaggedNumber [noOSE] pos:1249 <|@
0 3 i341 Add i339 i826 type:TaggedNumber [noOSE] pos:1249 <|@
0 0 i343 BoundsCheck i341 i828 type:Tagged [noOSE] pos:1249 <|@
0 1 s1235 Change i341 i to s type:Smi pos:1249 <|@
0 1 i346 Mul i341 i831 type:TaggedNumber [noOSE] pos:1249 <|@
0 1 i348 Add i346 i826 type:TaggedNumber [noOSE] pos:1249 <|@
0 10 t349 Allocate i348 (N) changes[NewSpacePromotion] [noOSE] pos:1249 <|@
0 0 v351 StoreNamedField t349.%map@0 = t836 changes[Maps] type:Tagged [noOSE] pos:1249 <|@
0 0 v352 StoreNamedField t349.%length@8 = s1235 changes[ArrayLengths] type:Tagged [noOSE] pos:1249 <|@
0 1 i353 LoadNamedField t349.%length@8 type:Smi [noOSE] pos:1249 <|@
0 0 v370 Goto B74 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1488 label () () () () [hir:v334] <|@
1490 gap () ([rdi|R];) () () [hir:v334] <|@
1492 add-i [rdi|R]= [rdi|R] [constant:821] [id=320|deopt_id=78|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i336] <|@
1494 gap ((0) = [rdi|R];) () () () [hir:i336] <|@
1496 bounds-check = [rbx|R] [rdi|R] [id=320|deopt_id=79|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i337] <|@
1498 gap () ([rdi|R] = [rbx|R];) () () [hir:i337] <|@
1500 shift-i [rdi|R]= [rdi|R] [constant:138] [hir:i338] <|@
1502 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i338] <|@
1504 add-i [rdi|R]= [rdi|R] [rbx|R] [hir:i339] <|@
1506 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i339] <|@
1508 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i341] <|@
1510 gap ((0) = [rdi|R];) () () () [hir:i341] <|@
1512 bounds-check = [rdi|R] [constant:828] [id=320|deopt_id=80|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i343] <|@
1514 gap () () () () [hir:i343] <|@
1516 smi-tag [r8|R]= [rdi|R] [hir:s1235] <|@
1518 gap ((0) = [r8|R];) ([rdi|R];) () () [hir:s1235] <|@
1520 mul-i [rdi|R]= [rdi|R] [constant:831] [hir:i346] <|@
1522 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i346] <|@
1524 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i348] <|@
1526 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i348] <|@
1528 allocate [r11|R]= [stack:0] [rdi|R] {[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[rdx|R];[stack:6];[stack:13];[stack:11];[rax|R];[rcx|R];[r11|R];[stack:10];[stack:9];[stack:8]} [hir:t349] <|@
1530 gap ((0) = [r11|R];) () () () [hir:t349] <|@
1532 store-named-field [r11|R].%map@0 <- [constant:836] [hir:v351] <|@
1534 gap () () () () [hir:v351] <|@
1536 store-named-field [r11|R].%length@8 <- [r8|R] [hir:v352] <|@
1538 gap () () () () [hir:v352] <|@
1540 load-named-field [rdi|R]= [r11|R] [hir:i353] <|@
1542 gap ((0) = [rdi|R];) () () () [hir:i353] <|@
1544 gap () ([rdi|R];) () () [hir:v370] <|@
1546 goto B74 [hir:v370] <|@
end_LIR
end_block
begin_block
name "B74"
from_bci -1
to_bci -1
predecessors "B73" "B75"
successors "B75" "B76"
xhandlers
flags "dom-loop-succ"
dominator "B73"
loop_depth 2
first_lir_id 1548
last_lir_id 1554
begin_states
begin_locals
size 1
method "None"
-1 i369 [ i353 i374 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v371 BlockEntry type:Tagged pos:1249 <|@
0 0 t1166 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1249 <|@
0 0 i372 CompareNumericAndBranch GT i369 i328 goto (B75, B76) type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1548 label () ((0) = [rdi|R];) () () [hir:v371] <|@
1550 gap () () () () [hir:v371] <|@
1552 gap () () () () [hir:i372] <|@
1554 compare-numeric-and-branch if [rdi|R] > [rsi|R] then B75 else B76 [hir:i372] <|@
end_LIR
end_block
begin_block
name "B75"
from_bci -1
to_bci -1
predecessors "B74"
successors "B74"
xhandlers
flags "dom-loop-succ"
dominator "B74"
loop_depth 2
first_lir_id 1556
last_lir_id 1570
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v373 BlockEntry type:Tagged pos:1249 <|@
0 2 i374 Sub i369 i138 type:TaggedNumber [noOSE] pos:1249 <|@
0 0 v375 StoreKeyed t349[i374] = t37 changes[ArrayElements] type:Tagged [noOSE] pos:1249 <|@
0 0 v377 Goto B74 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1556 label () () () () [hir:v373] <|@
1558 gap () ([rdi|R];) () () [hir:v373] <|@
1560 sub-i [rdi|R]= [rdi|R] [constant:138] [hir:i374] <|@
1562 gap ((0) = [rdi|R];) () () () [hir:i374] <|@
1564 store-keyed [r11|R][[rdi|R]] <- [constant:37] [hir:v375] <|@
1566 gap () () () () [hir:v375] <|@
1568 gap () ([rdi|R];) () () [hir:v377] <|@
1570 goto B74 [hir:v377] <|@
end_LIR
end_block
begin_block
name "B76"
from_bci -1
to_bci -1
predecessors "B74"
successors "B77"
xhandlers
flags
dominator "B74"
loop_depth 1
first_lir_id 1572
last_lir_id 1578
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v394 BlockEntry type:Tagged pos:1249 <|@
0 0 v395 Goto B77 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1572 label () () () () Dead block replaced with B77 [hir:v394] <|@
1574 gap () () () () [hir:v394] <|@
1576 gap () ([rsi|R];) () () [hir:v395] <|@
1578 goto B77 [hir:v395] <|@
end_LIR
end_block
begin_block
name "B77"
from_bci -1
to_bci -1
predecessors "B76" "B78"
successors "B78" "B79"
xhandlers
flags "dom-loop-succ"
dominator "B76"
loop_depth 2
first_lir_id 1580
last_lir_id 1586
begin_states
begin_locals
size 1
method "None"
-1 i393 [ i328 i399 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v396 BlockEntry type:Tagged pos:1249 <|@
0 0 t1171 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1249 <|@
0 0 i397 CompareNumericAndBranch GT i393 i208 goto (B78, B79) type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1580 label () ((0) = [rsi|R];) () () [hir:v396] <|@
1582 gap () () () () [hir:v396] <|@
1584 gap () () () () [hir:i397] <|@
1586 compare-numeric-and-branch if [rsi|R] > [constant:208] then B78 else B79 [hir:i397] <|@
end_LIR
end_block
begin_block
name "B78"
from_bci -1
to_bci -1
predecessors "B77"
successors "B77"
xhandlers
flags "dom-loop-succ"
dominator "B77"
loop_depth 2
first_lir_id 1588
last_lir_id 1606
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v398 BlockEntry type:Tagged pos:1249 <|@
0 3 i399 Sub i393 i138 type:TaggedNumber [noOSE] pos:1249 <|@
0 1 t400 LoadKeyed t326[i399] type:Tagged [noOSE] pos:1249 <|@
0 0 v401 StoreKeyed t349[i399] = t400 changes[ArrayElements] type:Tagged [noOSE] pos:1249 <|@
0 0 v403 Goto B77 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1588 label () () () () [hir:v398] <|@
1590 gap () ([rsi|R];) () () [hir:v398] <|@
1592 sub-i [rsi|R]= [rsi|R] [constant:138] [hir:i399] <|@
1594 gap ((0) = [rsi|R];) () () () [hir:i399] <|@
1596 load-keyed [rdi|R][rcx|R][[rsi|R]] [hir:t400] <|@
1598 gap ((0) = [rdi|R];) () () () [hir:t400] <|@
1600 store-keyed [r11|R][[rsi|R]] <- [rdi|R] [hir:v401] <|@
1602 gap () () () () [hir:v401] <|@
1604 gap () ([rsi|R];) () () [hir:v403] <|@
1606 goto B77 [hir:v403] <|@
end_LIR
end_block
begin_block
name "B79"
from_bci -1
to_bci -1
predecessors "B77"
successors "B80"
xhandlers
flags
dominator "B77"
loop_depth 1
first_lir_id 1608
last_lir_id 1618
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v404 BlockEntry type:Tagged pos:1249 <|@
0 0 v405 StoreNamedField t50.%elements@16 = t349 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:1249 <|@
0 0 v408 Goto B80 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1608 label () () () () [hir:v404] <|@
1610 gap () ([rcx|R] = [r11|R];) () () [hir:v404] <|@
1612 store-named-field [rdx|R].%elements@16 <- [rcx|R] [hir:v405] <|@
1614 gap () () () () [hir:v405] <|@
1616 gap () ([rcx|R] = [r11|R];) () () [hir:v408] <|@
1618 goto B80 [hir:v408] <|@
end_LIR
end_block
begin_block
name "B80"
from_bci -1
to_bci -1
predecessors "B72" "B79"
successors "B81"
xhandlers
flags
dominator "B71"
loop_depth 1
first_lir_id 1620
last_lir_id 1638
begin_states
begin_locals
size 1
method "None"
-1 t409 [ t326 t349 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v410 BlockEntry type:Tagged pos:1249 <|@
0 0 t1165 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1249 <|@
0 1 i411 Add i323 i138 type:TaggedNumber [noOSE] pos:1249 <|@
0 1 s1236 Change i411 i to s type:Smi pos:1249 <|@
0 0 v412 StoreNamedField t50.%length@24 = s1236 changes[ArrayLengths] type:Tagged [noOSE] pos:1249 <|@
0 0 v416 Goto B81 type:Tagged pos:1249 <|@
end_HIR
begin_LIR
1620 label () ((0) = [rcx|R];) () () [hir:v410] <|@
1622 gap () () () () [hir:v410] <|@
1624 add-i [rsi|R]= [rbx|R] [constant:138] [hir:i411] <|@
1626 gap ((0) = [rsi|R];) () () () [hir:i411] <|@
1628 smi-tag [rdi|R]= [rsi|R] [hir:s1236] <|@
1630 gap ((0) = [rdi|R];) () () () [hir:s1236] <|@
1632 store-named-field [rdx|R].%length@24 <- [rdi|R] [hir:v412] <|@
1634 gap () () () () [hir:v412] <|@
1636 gap () ([rcx|R];) () () [hir:v416] <|@
1638 goto B81 [hir:v416] <|@
end_LIR
end_block
begin_block
name "B81"
from_bci -1
to_bci -1
predecessors "B70" "B80"
successors "B82"
xhandlers
flags
dominator "B69"
loop_depth 1
first_lir_id 1640
last_lir_id 1650
begin_states
begin_locals
size 1
method "None"
-1 t417 [ t326 t409 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v418 BlockEntry type:Tagged pos:1249 <|@
0 0 t1164 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1249 <|@
0 0 v419 StoreKeyed t417[i323] = t317 changes[ArrayElements] type:Tagged [noOSE] pos:1249 <|@
0 0 v420 Simulate id=307 pop 3 type:Tagged [noOSE] pos:1249 <|@
0 0 v538 Simulate id=293 type:Tagged pos:1201 <|@
0 0 v539 Goto B82 type:Tagged pos:1201 <|@
end_HIR
begin_LIR
1640 label () ((0) = [rcx|R];) () () [hir:v418] <|@
1642 gap () ([rcx|R]; [rbx|R]; [rax|R];) () () [hir:v418] <|@
1644 store-keyed [rcx|R][[rbx|R]] <- [rax|R] [hir:v419] <|@
1646 gap () () () () [hir:v419] <|@
1648 gap () () () () [hir:v539] <|@
1650 goto B82 [hir:v539] <|@
end_LIR
end_block
begin_block
name "B82"
from_bci -1
to_bci -1
predecessors "B81" "B67"
successors "B83"
xhandlers
flags
dominator "B53"
loop_depth 1
first_lir_id 1652
last_lir_id 1738
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v542 BlockEntry type:Tagged pos:1441 <|@
0 0 t1163 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:1441 <|@
0 0 t543 CheckHeapObject t64 pos:1441 <|@
0 0 t544 CheckInstanceType string t64 pos:1441 <|@
0 0 t551 CheckMaps t263 [0x3f3d1480ada1] pos:1456 <|@
0 1 t552 LoadNamedField t263.%elements@16 type:Tagged pos:1456 <|@
0 1 i553 LoadNamedField t263.%length@24 type:Smi pos:1456 <|@
0 0 i554 BoundsCheck i208 i553 type:Tagged pos:1456 <|@
0 4 t555 LoadKeyed t552[i208] t263 check_hole type:Tagged pos:1456 <|@
0 0 t556 CheckHeapObject t555 pos:1459 <|@
0 0 t557 CheckInstanceType string t555 pos:1459 <|@
0 1 i558 LoadNamedField t555.%length@16 type:Smi pos:1459 <|@
0 1 t561 LoadNamedField t934.[in-object]@48 type:Tagged pos:1441 <|@
0 1 t1237 Change i558 i to t pos:1441 <|@
0 0 t564 PushArguments t64 t1237 type:Tagged pos:1441 <|@
0 3 t565 CallWithDescriptor t938 t561 t934 i138 i618 #2 changes[*] type:Tagged pos:1441 <|@
0 0 v566 Simulate id=372 var[8] = t5, push t565 type:Tagged pos:1441 <|@
0 0 v950 Simulate id=233 pop 1 / var[1] = t565 type:Tagged pos:1074 <|@
0 0 v951 Goto B83 type:Tagged pos:1074 <|@
end_HIR
begin_LIR
1652 label () () () () [hir:v542] <|@
1654 gap () () ([rcx|R] = [stack:6];) () [hir:v542] <|@
1656 check-non-smi = [rcx|R] [id=293|deopt_id=81|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t543] <|@
1658 gap () () () () [hir:t543] <|@
1660 check-instance-type = [rcx|R] [id=293|deopt_id=82|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[stack:13];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t544] <|@
1662 gap () () ([rax|R] = [stack:13];) () [hir:t544] <|@
1664 check-maps = [rax|R] [id=293|deopt_id=83|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t551] <|@
1666 gap () () () () [hir:t551] <|@
1668 load-named-field [rbx|R]= [rax|R] [hir:t552] <|@
1670 gap ((0) = [rbx|R];) () () () [hir:t552] <|@
1672 load-named-field [rsi|R]= [rax|R] [hir:i553] <|@
1674 gap ((0) = [rsi|R];) () () () [hir:i553] <|@
1676 bounds-check = [constant:208] [rsi|R] [id=293|deopt_id=84|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:i554] <|@
1678 gap () () () () [hir:i554] <|@
1680 load-keyed [rbx|R][rbx|R][[constant:208]] [id=293|deopt_id=85|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t555] <|@
1682 gap ((0) = [rbx|R];) () () () [hir:t555] <|@
1684 check-non-smi = [rbx|R] [id=293|deopt_id=86|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t556] <|@
1686 gap () () () () [hir:t556] <|@
1688 check-instance-type = [rbx|R] [id=293|deopt_id=87|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[stack:11];[constant:5];[constant:5];[constant:5]] [hir:t557] <|@
1690 gap () () () () [hir:t557] <|@
1692 load-named-field [rax|R]= [rbx|R] [hir:i558] <|@
1694 gap ((0) = [rax|R];) () () () [hir:i558] <|@
1696 constant-t [rdi|R]= [hir:t934] <|@
1698 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
1700 load-named-field [rsi|R]= [rdi|R] [hir:t561] <|@
1702 gap ((0) = [rsi|R];) () () () [hir:t561] <|@
1704 smi-tag [rbx|R]= [rax|R] [hir:t1237] <|@
1706 gap ((0) = [rbx|R];) () () () [hir:t1237] <|@
1708 push-argument = [rcx|R] [hir:t564] <|@
1710 gap () () () () [hir:t564] <|@
1712 push-argument = [rbx|R] [hir:t564] <|@
1714 gap () () () () [hir:t564] <|@
1716 constant-t [rdi|R]= [hir:t934] <|@
1718 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
1720 constant-i [rax|R]= [hir:i138] <|@
1722 gap ((0) = [rax|R];) () () () [hir:i138] <|@
1724 constant-i [rbx|R]= [hir:i618] <|@
1726 gap ((0) = [rbx|R];) ([rsi|R]; [rdi|R]; [rax|R]; [rbx|R];) () () [hir:i618] <|@
1728 call-with-descriptor [rax|R][constant:938] [rsi|R] [rdi|R] [rax|R] [rbx|R] #1 / {[rsi|R];[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:11];[stack:10];[stack:9];[stack:8]} [hir:t565] <|@
1730 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t565] <|@
1732 lazy-bailout = [id=372|deopt_id=88|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[stack:11];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v566] <|@
1734 gap () () () () [hir:v566] <|@
1736 gap () ([rax|R];) () () [hir:v951] <|@
1738 goto B83 [hir:v951] <|@
end_LIR
end_block
begin_block
name "B83"
from_bci -1
to_bci -1
predecessors "B82" "B51"
successors "B98"
xhandlers
flags
dominator "B6"
loop_depth 1
first_lir_id 1740
last_lir_id 1746
begin_states
begin_locals
size 1
method "None"
1 t955 [ t565 t947 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v963 BlockEntry type:Tagged pos:830 <|@
0 0 t1142 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:830 <|@
0 0 v964 Simulate id=135 type:Tagged pos:830 <|@
0 0 v965 Goto B98 type:Tagged pos:830 <|@
end_HIR
begin_LIR
1740 label () ((0) = [rax|R];) () () Dead block replaced with B98 [hir:v963] <|@
1742 gap () () () () [hir:v963] <|@
1744 gap () ([rax|R];) () () [hir:v965] <|@
1746 goto B98 [hir:v965] <|@
end_LIR
end_block
begin_block
name "B84"
from_bci -1
to_bci -1
predecessors "B4"
successors "B85"
xhandlers
flags
dominator "B4"
loop_depth 1
first_lir_id 1748
last_lir_id 1754
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v103 BlockEntry type:Tagged pos:841 <|@
0 0 v104 Simulate id=136 pop 1 / var[8] = t99 type:Tagged pos:841 <|@
0 0 v105 Goto B85 type:Tagged pos:841 <|@
end_HIR
begin_LIR
1748 label () () () () Dead block replaced with B85 [hir:v103] <|@
1750 gap () () () () [hir:v103] <|@
1752 gap () () () () [hir:v105] <|@
1754 goto B85 [hir:v105] <|@
end_LIR
end_block
begin_block
name "B85"
from_bci -1
to_bci -1
predecessors "B84"
successors "B87" "B86"
xhandlers
flags
dominator "B84"
loop_depth 1
first_lir_id 1756
last_lir_id 1830
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v109 BlockEntry type:Tagged pos:895 <|@
0 0 t112 CheckHeapObject t99 pos:900 <|@
0 0 t113 CheckMaps t99 [0x3f3d1480ada1] pos:900 <|@
0 1 t114 LoadNamedField t99.%elements@16 type:Tagged pos:900 <|@
0 1 i115 LoadNamedField t99.%length@24 type:Smi pos:900 <|@
0 0 i116 BoundsCheck i208 i115 type:Tagged pos:900 <|@
0 6 t117 LoadKeyed t114[i208] t99 check_hole type:Tagged pos:900 <|@
0 0 t121 CheckMaps t50 [0x3f3d14807179] pos:928 <|@
0 0 t130 PushArguments t797 t117 type:Tagged pos:935 <|@
0 2 t131 CallJSFunction t129 #2 changes[*] type:Tagged pos:935 <|@
0 0 v132 Simulate id=190 var[8] = t5, var[9] = t117, push t796, push t50, push t131 type:Tagged pos:935 <|@
0 8 i137 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:928 <|@
0 0 t140 CheckMaps t50 [0x3f3d14807179] [noOSE] pos:928 <|@
0 8 t141 LoadNamedField t50.%elements@16 type:Tagged [noOSE] pos:928 <|@
0 0 t142 CheckMaps t141 [0x3f3d14804209] [noOSE] pos:928 <|@
0 4 i143 LoadNamedField t50.%length@24 type:Smi [noOSE] pos:928 <|@
0 0 i145 CompareNumericAndBranch EQ i137 i143 goto (B87, B86) type:Tagged pos:928 <|@
end_HIR
begin_LIR
1756 label () () () () [hir:v109] <|@
1758 gap () () () () [hir:v109] <|@
1760 check-non-smi = [rax|R] [id=136|deopt_id=89|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t112] <|@
1762 gap () () () () [hir:t112] <|@
1764 check-maps = [rax|R] [id=136|deopt_id=90|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t113] <|@
1766 gap () () () () [hir:t113] <|@
1768 load-named-field [rbx|R]= [rax|R] [hir:t114] <|@
1770 gap ((0) = [rbx|R];) () () () [hir:t114] <|@
1772 load-named-field [rdx|R]= [rax|R] [hir:i115] <|@
1774 gap ((0) = [rdx|R];) () () () [hir:i115] <|@
1776 bounds-check = [constant:208] [rdx|R] [id=136|deopt_id=91|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i116] <|@
1778 gap () () () () [hir:i116] <|@
1780 load-keyed [rbx|R][rbx|R][[constant:208]] [id=136|deopt_id=92|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t117] <|@
1782 gap ([stack:13] = [rbx|R];) () ([rdx|R] = [stack:5];) () [hir:t117] <|@
1784 check-maps = [rdx|R] [id=136|deopt_id=93|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[rax|R];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t121] <|@
1786 gap () () () () [hir:t121] <|@
1788 push-argument = [constant:797] [hir:t130] <|@
1790 gap () () () () [hir:t130] <|@
1792 push-argument = [rbx|R] [hir:t130] <|@
1794 gap () () () () [hir:t130] <|@
1796 constant-t [rdi|R]= [hir:t129] <|@
1798 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t129] <|@
1800 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:13];[stack:10];[stack:9];[stack:8]} [hir:t131] <|@
1802 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t131] <|@
1804 lazy-bailout = [id=190|deopt_id=94|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[stack:5];[rax|R]] [hir:v132] <|@
1806 gap () () ([rdx|R] = [stack:5];) () [hir:v132] <|@
1808 load-named-field [rbx|R]= [rdx|R] [hir:i137] <|@
1810 gap ((0) = [rbx|R];) () () () [hir:i137] <|@
1812 check-maps = [rdx|R] [id=190|deopt_id=95|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t140] <|@
1814 gap () () () () [hir:t140] <|@
1816 load-named-field [rcx|R]= [rdx|R] [hir:t141] <|@
1818 gap ((0) = [rcx|R];) () () () [hir:t141] <|@
1820 check-maps = [rcx|R] [id=190|deopt_id=96|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:t142] <|@
1822 gap () () () () [hir:t142] <|@
1824 load-named-field [rsi|R]= [rdx|R] [hir:i143] <|@
1826 gap ((0) = [rsi|R];) () () () [hir:i143] <|@
1828 gap () () () () [hir:i145] <|@
1830 compare-numeric-and-branch if [rbx|R] == [rsi|R] then B87 else B86 [hir:i145] <|@
end_LIR
end_block
begin_block
name "B86"
from_bci -1
to_bci -1
predecessors "B85"
successors "B97"
xhandlers
flags
dominator "B85"
loop_depth 1
first_lir_id 1832
last_lir_id 1842
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v229 BlockEntry type:Tagged pos:928 <|@
0 0 i230 BoundsCheck i137 i143 type:Tagged [noOSE] pos:928 <|@
0 0 v231 Goto B97 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1832 label () () () () [hir:v229] <|@
1834 gap () () () () [hir:v229] <|@
1836 bounds-check = [rbx|R] [rsi|R] [id=190|deopt_id=97|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i230] <|@
1838 gap () () () () [hir:i230] <|@
1840 gap () ([rcx|R];) () () [hir:v231] <|@
1842 goto B97 [hir:v231] <|@
end_LIR
end_block
begin_block
name "B87"
from_bci -1
to_bci -1
predecessors "B85"
successors "B89" "B88"
xhandlers
flags
dominator "B85"
loop_depth 1
first_lir_id 1844
last_lir_id 1854
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v146 BlockEntry type:Tagged pos:928 <|@
0 2 i147 LoadNamedField t141.%length@8 type:Smi [noOSE] pos:928 <|@
0 0 i148 CompareNumericAndBranch GTE i137 i147 goto (B89, B88) type:Tagged pos:928 <|@
end_HIR
begin_LIR
1844 label () () () () [hir:v146] <|@
1846 gap () () () () [hir:v146] <|@
1848 load-named-field [rdi|R]= [rcx|R] [hir:i147] <|@
1850 gap ((0) = [rdi|R];) () () () [hir:i147] <|@
1852 gap () () () () [hir:i148] <|@
1854 compare-numeric-and-branch if [rbx|R] >= [rdi|R] then B89 else B88 [hir:i148] <|@
end_LIR
end_block
begin_block
name "B88"
from_bci -1
to_bci -1
predecessors "B87"
successors "B96"
xhandlers
flags
dominator "B87"
loop_depth 1
first_lir_id 1856
last_lir_id 1862
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v222 BlockEntry type:Tagged pos:928 <|@
0 0 v223 Goto B96 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1856 label () () () () Dead block replaced with B96 [hir:v222] <|@
1858 gap () () () () [hir:v222] <|@
1860 gap () ([rcx|R];) () () [hir:v223] <|@
1862 goto B96 [hir:v223] <|@
end_LIR
end_block
begin_block
name "B89"
from_bci -1
to_bci -1
predecessors "B87"
successors "B90"
xhandlers
flags
dominator "B87"
loop_depth 1
first_lir_id 1864
last_lir_id 1922
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v149 BlockEntry type:Tagged pos:928 <|@
0 1 i151 Add i147 i821 ! type:TaggedNumber [noOSE] pos:928 <|@
0 0 i152 BoundsCheck i137 i151 type:Tagged [noOSE] pos:928 <|@
0 1 i153 Shr i137 i138 type:TaggedNumber [noOSE] pos:928 <|@
0 1 i154 Add i153 i137 type:TaggedNumber [noOSE] pos:928 <|@
0 3 i156 Add i154 i826 type:TaggedNumber [noOSE] pos:928 <|@
0 0 i158 BoundsCheck i156 i828 type:Tagged [noOSE] pos:928 <|@
0 1 s1238 Change i156 i to s type:Smi pos:928 <|@
0 1 i161 Mul i156 i831 type:TaggedNumber [noOSE] pos:928 <|@
0 1 i163 Add i161 i826 type:TaggedNumber [noOSE] pos:928 <|@
0 10 t164 Allocate i163 (N) changes[NewSpacePromotion] [noOSE] pos:928 <|@
0 0 v166 StoreNamedField t164.%map@0 = t836 changes[Maps] type:Tagged [noOSE] pos:928 <|@
0 0 v167 StoreNamedField t164.%length@8 = s1238 changes[ArrayLengths] type:Tagged [noOSE] pos:928 <|@
0 1 i168 LoadNamedField t164.%length@8 type:Smi [noOSE] pos:928 <|@
0 0 v185 Goto B90 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1864 label () () () () [hir:v149] <|@
1866 gap () ([rdi|R];) () () [hir:v149] <|@
1868 add-i [rdi|R]= [rdi|R] [constant:821] [id=190|deopt_id=98|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i151] <|@
1870 gap ((0) = [rdi|R];) () () () [hir:i151] <|@
1872 bounds-check = [rbx|R] [rdi|R] [id=190|deopt_id=99|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i152] <|@
1874 gap () ([rdi|R] = [rbx|R];) () () [hir:i152] <|@
1876 shift-i [rdi|R]= [rdi|R] [constant:138] [hir:i153] <|@
1878 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i153] <|@
1880 add-i [rdi|R]= [rdi|R] [rbx|R] [hir:i154] <|@
1882 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i154] <|@
1884 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i156] <|@
1886 gap ((0) = [rdi|R];) () () () [hir:i156] <|@
1888 bounds-check = [rdi|R] [constant:828] [id=190|deopt_id=100|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:796];[rdx|R];[rax|R]] [hir:i158] <|@
1890 gap () () () () [hir:i158] <|@
1892 smi-tag [r8|R]= [rdi|R] [hir:s1238] <|@
1894 gap ((0) = [r8|R];) ([rdi|R];) () () [hir:s1238] <|@
1896 mul-i [rdi|R]= [rdi|R] [constant:831] [hir:i161] <|@
1898 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i161] <|@
1900 add-i [rdi|R]= [rdi|R] [constant:826] [hir:i163] <|@
1902 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:i163] <|@
1904 allocate [r11|R]= [stack:0] [rdi|R] {[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[rdx|R];[stack:6];[stack:13];[rax|R];[rcx|R];[r11|R];[stack:10];[stack:9];[stack:8]} [hir:t164] <|@
1906 gap ((0) = [r11|R];) () () () [hir:t164] <|@
1908 store-named-field [r11|R].%map@0 <- [constant:836] [hir:v166] <|@
1910 gap () () () () [hir:v166] <|@
1912 store-named-field [r11|R].%length@8 <- [r8|R] [hir:v167] <|@
1914 gap () () () () [hir:v167] <|@
1916 load-named-field [rdi|R]= [r11|R] [hir:i168] <|@
1918 gap ((0) = [rdi|R];) () () () [hir:i168] <|@
1920 gap () ([rdi|R];) () () [hir:v185] <|@
1922 goto B90 [hir:v185] <|@
end_LIR
end_block
begin_block
name "B90"
from_bci -1
to_bci -1
predecessors "B89" "B91"
successors "B91" "B92"
xhandlers
flags "dom-loop-succ"
dominator "B89"
loop_depth 2
first_lir_id 1924
last_lir_id 1930
begin_states
begin_locals
size 1
method "None"
-1 i184 [ i168 i189 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v186 BlockEntry type:Tagged pos:928 <|@
0 0 t1195 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:928 <|@
0 0 i187 CompareNumericAndBranch GT i184 i143 goto (B91, B92) type:Tagged pos:928 <|@
end_HIR
begin_LIR
1924 label () ((0) = [rdi|R];) () () [hir:v186] <|@
1926 gap () () () () [hir:v186] <|@
1928 gap () () () () [hir:i187] <|@
1930 compare-numeric-and-branch if [rdi|R] > [rsi|R] then B91 else B92 [hir:i187] <|@
end_LIR
end_block
begin_block
name "B91"
from_bci -1
to_bci -1
predecessors "B90"
successors "B90"
xhandlers
flags "dom-loop-succ"
dominator "B90"
loop_depth 2
first_lir_id 1932
last_lir_id 1946
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v188 BlockEntry type:Tagged pos:928 <|@
0 2 i189 Sub i184 i138 type:TaggedNumber [noOSE] pos:928 <|@
0 0 v190 StoreKeyed t164[i189] = t37 changes[ArrayElements] type:Tagged [noOSE] pos:928 <|@
0 0 v192 Goto B90 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1932 label () () () () [hir:v188] <|@
1934 gap () ([rdi|R];) () () [hir:v188] <|@
1936 sub-i [rdi|R]= [rdi|R] [constant:138] [hir:i189] <|@
1938 gap ((0) = [rdi|R];) () () () [hir:i189] <|@
1940 store-keyed [r11|R][[rdi|R]] <- [constant:37] [hir:v190] <|@
1942 gap () () () () [hir:v190] <|@
1944 gap () ([rdi|R];) () () [hir:v192] <|@
1946 goto B90 [hir:v192] <|@
end_LIR
end_block
begin_block
name "B92"
from_bci -1
to_bci -1
predecessors "B90"
successors "B93"
xhandlers
flags
dominator "B90"
loop_depth 1
first_lir_id 1948
last_lir_id 1954
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v210 BlockEntry type:Tagged pos:928 <|@
0 0 v211 Goto B93 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1948 label () () () () Dead block replaced with B93 [hir:v210] <|@
1950 gap () () () () [hir:v210] <|@
1952 gap () ([rsi|R];) () () [hir:v211] <|@
1954 goto B93 [hir:v211] <|@
end_LIR
end_block
begin_block
name "B93"
from_bci -1
to_bci -1
predecessors "B92" "B94"
successors "B94" "B95"
xhandlers
flags "dom-loop-succ"
dominator "B92"
loop_depth 2
first_lir_id 1956
last_lir_id 1962
begin_states
begin_locals
size 1
method "None"
-1 i209 [ i143 i215 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v212 BlockEntry type:Tagged pos:928 <|@
0 0 t1200 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:928 <|@
0 0 i213 CompareNumericAndBranch GT i209 i208 goto (B94, B95) type:Tagged pos:928 <|@
end_HIR
begin_LIR
1956 label () ((0) = [rsi|R];) () () [hir:v212] <|@
1958 gap () () () () [hir:v212] <|@
1960 gap () () () () [hir:i213] <|@
1962 compare-numeric-and-branch if [rsi|R] > [constant:208] then B94 else B95 [hir:i213] <|@
end_LIR
end_block
begin_block
name "B94"
from_bci -1
to_bci -1
predecessors "B93"
successors "B93"
xhandlers
flags "dom-loop-succ"
dominator "B93"
loop_depth 2
first_lir_id 1964
last_lir_id 1982
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v214 BlockEntry type:Tagged pos:928 <|@
0 3 i215 Sub i209 i138 type:TaggedNumber [noOSE] pos:928 <|@
0 1 t216 LoadKeyed t141[i215] type:Tagged [noOSE] pos:928 <|@
0 0 v217 StoreKeyed t164[i215] = t216 changes[ArrayElements] type:Tagged [noOSE] pos:928 <|@
0 0 v219 Goto B93 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1964 label () () () () [hir:v214] <|@
1966 gap () ([rsi|R];) () () [hir:v214] <|@
1968 sub-i [rsi|R]= [rsi|R] [constant:138] [hir:i215] <|@
1970 gap ((0) = [rsi|R];) () () () [hir:i215] <|@
1972 load-keyed [rdi|R][rcx|R][[rsi|R]] [hir:t216] <|@
1974 gap ((0) = [rdi|R];) () () () [hir:t216] <|@
1976 store-keyed [r11|R][[rsi|R]] <- [rdi|R] [hir:v217] <|@
1978 gap () () () () [hir:v217] <|@
1980 gap () ([rsi|R];) () () [hir:v219] <|@
1982 goto B93 [hir:v219] <|@
end_LIR
end_block
begin_block
name "B95"
from_bci -1
to_bci -1
predecessors "B93"
successors "B96"
xhandlers
flags
dominator "B93"
loop_depth 1
first_lir_id 1984
last_lir_id 1994
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v220 BlockEntry type:Tagged pos:928 <|@
0 0 v221 StoreNamedField t50.%elements@16 = t164 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:928 <|@
0 0 v224 Goto B96 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1984 label () () () () [hir:v220] <|@
1986 gap () ([rcx|R] = [r11|R];) () () [hir:v220] <|@
1988 store-named-field [rdx|R].%elements@16 <- [rcx|R] [hir:v221] <|@
1990 gap () () () () [hir:v221] <|@
1992 gap () ([rcx|R] = [r11|R];) () () [hir:v224] <|@
1994 goto B96 [hir:v224] <|@
end_LIR
end_block
begin_block
name "B96"
from_bci -1
to_bci -1
predecessors "B88" "B95"
successors "B97"
xhandlers
flags
dominator "B87"
loop_depth 1
first_lir_id 1996
last_lir_id 2014
begin_states
begin_locals
size 1
method "None"
-1 t225 [ t141 t164 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v226 BlockEntry type:Tagged pos:928 <|@
0 0 t1194 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:928 <|@
0 1 i227 Add i137 i138 type:TaggedNumber [noOSE] pos:928 <|@
0 1 s1239 Change i227 i to s type:Smi pos:928 <|@
0 0 v228 StoreNamedField t50.%length@24 = s1239 changes[ArrayLengths] type:Tagged [noOSE] pos:928 <|@
0 0 v232 Goto B97 type:Tagged pos:928 <|@
end_HIR
begin_LIR
1996 label () ((0) = [rcx|R];) () () [hir:v226] <|@
1998 gap () () () () [hir:v226] <|@
2000 add-i [rsi|R]= [rbx|R] [constant:138] [hir:i227] <|@
2002 gap ((0) = [rsi|R];) () () () [hir:i227] <|@
2004 smi-tag [rdi|R]= [rsi|R] [hir:s1239] <|@
2006 gap ((0) = [rdi|R];) () () () [hir:s1239] <|@
2008 store-named-field [rdx|R].%length@24 <- [rdi|R] [hir:v228] <|@
2010 gap () () () () [hir:v228] <|@
2012 gap () ([rcx|R];) () () [hir:v232] <|@
2014 goto B97 [hir:v232] <|@
end_LIR
end_block
begin_block
name "B97"
from_bci -1
to_bci -1
predecessors "B86" "B96"
successors "B98"
xhandlers
flags
dominator "B85"
loop_depth 1
first_lir_id 2016
last_lir_id 2086
begin_states
begin_locals
size 1
method "None"
-1 t233 [ t141 t225 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v234 BlockEntry type:Tagged pos:928 <|@
0 0 t1193 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:928 <|@
0 0 v235 StoreKeyed t233[i137] = t131 changes[ArrayElements] type:Tagged [noOSE] pos:928 <|@
0 0 v236 Simulate id=177 pop 3 type:Tagged [noOSE] pos:928 <|@
0 0 t237 CheckHeapObject t64 pos:1036 <|@
0 0 t238 CheckInstanceType string t64 pos:1036 <|@
0 0 t243 CheckHeapObject t117 pos:1049 <|@
0 0 t244 CheckInstanceType string t117 pos:1049 <|@
0 1 i245 LoadNamedField t117.%length@16 type:Smi pos:1049 <|@
0 1 t248 LoadNamedField t934.[in-object]@48 type:Tagged pos:1036 <|@
0 1 t1240 Change i245 i to t pos:1036 <|@
0 0 t251 PushArguments t64 t1240 type:Tagged pos:1036 <|@
0 3 t252 CallWithDescriptor t938 t248 t934 i138 i618 #2 changes[*] type:Tagged pos:1036 <|@
0 0 v253 Simulate id=211 var[9] = t5, push t252 type:Tagged pos:1036 <|@
0 0 v961 Simulate id=135 pop 1 / var[1] = t252 type:Tagged pos:830 <|@
0 0 v962 Goto B98 type:Tagged pos:830 <|@
end_HIR
begin_LIR
2016 label () ((0) = [rcx|R];) () () [hir:v234] <|@
2018 gap () ([rcx|R]; [rbx|R]; [rax|R];) () () [hir:v234] <|@
2020 store-keyed [rcx|R][[rbx|R]] <- [rax|R] [hir:v235] <|@
2022 gap () () ([rcx|R] = [stack:6];) () [hir:v235] <|@
2024 check-non-smi = [rcx|R] [id=177|deopt_id=101|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t237] <|@
2026 gap () () () () [hir:t237] <|@
2028 check-instance-type = [rcx|R] [id=177|deopt_id=102|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[stack:13];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t238] <|@
2030 gap () () ([rax|R] = [stack:13];) () [hir:t238] <|@
2032 check-non-smi = [rax|R] [id=177|deopt_id=103|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[rax|R];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t243] <|@
2034 gap () () () () [hir:t243] <|@
2036 check-instance-type = [rax|R] [id=177|deopt_id=104|parameters=2|arguments_stack_height=0|[stack:-2];[rcx|R];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[rax|R];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t244] <|@
2038 gap () () () () [hir:t244] <|@
2040 load-named-field [rax|R]= [rax|R] [hir:i245] <|@
2042 gap ((0) = [rax|R];) () () () [hir:i245] <|@
2044 constant-t [rdi|R]= [hir:t934] <|@
2046 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
2048 load-named-field [rsi|R]= [rdi|R] [hir:t248] <|@
2050 gap ((0) = [rsi|R];) () () () [hir:t248] <|@
2052 smi-tag [rbx|R]= [rax|R] [hir:t1240] <|@
2054 gap ((0) = [rbx|R];) () () () [hir:t1240] <|@
2056 push-argument = [rcx|R] [hir:t251] <|@
2058 gap () () () () [hir:t251] <|@
2060 push-argument = [rbx|R] [hir:t251] <|@
2062 gap () () () () [hir:t251] <|@
2064 constant-t [rdi|R]= [hir:t934] <|@
2066 gap ((0) = [rdi|R];) () () () [hir:t934] <|@
2068 constant-i [rax|R]= [hir:i138] <|@
2070 gap ((0) = [rax|R];) () () () [hir:i138] <|@
2072 constant-i [rbx|R]= [hir:i618] <|@
2074 gap ((0) = [rbx|R];) ([rsi|R]; [rdi|R]; [rax|R]; [rbx|R];) () () [hir:i618] <|@
2076 call-with-descriptor [rax|R][constant:938] [rsi|R] [rdi|R] [rax|R] [rbx|R] #1 / {[rsi|R];[rdi|R];[stack:0];[stack:1];[stack:3];[stack:4];[stack:5];[stack:6];[stack:10];[stack:9];[stack:8]} [hir:t252] <|@
2078 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t252] <|@
2080 lazy-bailout = [id=211|deopt_id=105|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[stack:1];[constant:5];[stack:3];[stack:4];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v253] <|@
2082 gap () () () () [hir:v253] <|@
2084 gap () ([rax|R];) () () [hir:v962] <|@
2086 goto B98 [hir:v962] <|@
end_LIR
end_block
begin_block
name "B98"
from_bci -1
to_bci -1
predecessors "B97" "B83"
successors "B2"
xhandlers
flags "dom-loop-succ"
dominator "B4"
loop_depth 1
first_lir_id 2088
last_lir_id 2094
begin_states
begin_locals
size 1
method "None"
1 t966 [ t252 t955 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v972 BlockEntry type:Tagged pos:803 <|@
0 0 t1192 CapturedObject #1 t1086 t1087 t1088 i1089 type:Tagged pos:803 <|@
0 0 v973 Simulate id=126 type:Tagged pos:803 <|@
0 0 v974 Goto B2 type:Tagged pos:803 <|@
end_HIR
begin_LIR
2088 label () ((0) = [rax|R];) () () [hir:v972] <|@
2090 gap () () () () [hir:v972] <|@
2092 gap () ([r8|R] = [rax|R]; [rsi|R] = [stack:10]; [rcx|R] = [stack:9]; [rbx|R] = [stack:8]; [rax|R] = [stack:7]; [r9|R] = [stack:1]; [r11|R] = [stack:3]; [r12|R] = [stack:4]; [rdx|R] = [stack:5];) () () [hir:v974] <|@
2094 goto B2 [hir:v974] <|@
end_LIR
end_block
begin_block
name "B99"
from_bci -1
to_bci -1
predecessors "B21"
successors "B100"
xhandlers
flags
dominator "B21"
loop_depth 0
first_lir_id 2096
last_lir_id 2102
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v787 BlockEntry type:Tagged pos:2212 <|@
0 0 v788 Simulate id=551 var[12] = t5, var[10] = t5, var[8] = t5, var[7] = t5, var[6] = t5, var[4] = t5 type:Tagged pos:2212 <|@
0 0 v789 Goto B100 type:Tagged pos:2212 <|@
end_HIR
begin_LIR
2096 label () () () () Dead block replaced with B100 [hir:v787] <|@
2098 gap () () () () [hir:v787] <|@
2100 gap () () () () [hir:v789] <|@
2102 goto B100 [hir:v789] <|@
end_LIR
end_block
begin_block
name "B100"
from_bci -1
to_bci -1
predecessors "B99"
successors
xhandlers
flags
dominator "B99"
loop_depth 0
first_lir_id 2104
last_lir_id 2118
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v907 BlockEntry type:Tagged pos:2330 <|@
0 1 t908 Constant 0xa0eea30b629 <String[22]: Unsupported combinator> [map 0x3f3d14804261] pos:2330 <|@
0 0 t909 PushArguments t908 type:Tagged pos:2324 <|@
0 0 t910 CallRuntime #1 changes[*] type:Tagged pos:2324 <|@
0 0 v911 Simulate id=594 type:Tagged pos:2324 <|@
0 0 v912 AbnormalExit goto () type:Tagged pos:2324 <|@
end_HIR
begin_LIR
2104 label () () () () [hir:v907] <|@
2106 gap () () () () [hir:v907] <|@
2108 push-argument = [constant:908] [hir:t909] <|@
2110 gap () ([rsi|R] = [stack:0];) () () [hir:t909] <|@
2112 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:6];[stack:12]} [hir:t910] <|@
2114 gap ((0) = [rax|R];) () () () [hir:t910] <|@
2116 lazy-bailout = [id=594|deopt_id=106|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:12];[constant:5]] [hir:v911] <|@
2118 gap () () () () [hir:v911] <|@
end_LIR
end_block
begin_block
name "B101"
from_bci -1
to_bci -1
predecessors "B2"
successors "B102"
xhandlers
flags
dominator "B2"
loop_depth 0
first_lir_id 2120
last_lir_id 2126
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v85 BlockEntry type:Tagged pos:810 <|@
0 0 v86 Simulate id=127 var[7] = t5, var[6] = t5, var[4] = t5 type:Tagged pos:810 <|@
0 0 v87 Goto B102 type:Tagged pos:810 <|@
end_HIR
begin_LIR
2120 label () () () () Dead block replaced with B102 [hir:v85] <|@
2122 gap () () () () [hir:v85] <|@
2124 gap () () () () [hir:v87] <|@
2126 goto B102 [hir:v87] <|@
end_LIR
end_block
begin_block
name "B102"
from_bci -1
to_bci -1
predecessors "B101"
successors "B103"
xhandlers
flags
dominator "B101"
loop_depth 0
first_lir_id 2128
last_lir_id 2202
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v975 BlockEntry type:Tagged pos:2528 <|@
0 2 t976 Constant 0x315a307a1e51 PropertyCell for 0x4b684865d81 <an HTMLDocument with map 0x335beeb068e1> [map 0x3f3d148045d1] pos:2528 <|@
0 5 t977 LoadNamedField t976.[in-object]@8 type:Tagged pos:2528 <|@
0 0 t978 CheckHeapObject t977 pos:2537 <|@
0 0 t979 CheckMaps t977 [0x335beeb068e1] pos:2537 <|@
0 2 t980 Constant 0x4b6848cf589 <an HTMLDocument with map 0x335beeb06939> [map 0x335beeb06939] pos:2537 <|@
0 0 t981 CheckMaps t980 [0x335beeb06939](stability-check) pos:2537 <|@
0 2 t982 Constant 0x4b6848ced31 <JS Object> [map 0x335beeb06571] pos:2537 <|@
0 0 t983 CheckMaps t982 [0x335beeb06571](stability-check) pos:2537 <|@
0 2 t984 Constant 0x4b6848ce919 <JS Object> [map 0x335beeb06411] pos:2537 <|@
0 0 t985 CheckMaps t984 [0x335beeb06411](stability-check) pos:2537 <|@
0 1 t987 Constant 0xa0eea30b659 <String[1]: *> [map 0x3f3d14805231] pos:2558 <|@
0 0 t989 PushArguments t977 t987 type:Tagged pos:2537 <|@
0 1 x991 Constant 0x1111a6100 type:Any pos:2537 <|@
0 1 t992 Constant 0x315a307ceca1 <JS Function getElementsByTagName (SharedFunctionInfo 0x315a307cec11)> [map 0x3f3d14806729] pos:2537 <|@
0 1 t993 Constant 0x129df1913961 <Code: STUB> [map 0x3f3d14804731] pos:2537 <|@
0 3 t994 CallWithDescriptor t993 t1 t992 t5 t977 x991 #2 changes[*] type:Tagged pos:2537 <|@
0 0 v995 Simulate id=640 push t994 type:Tagged pos:2537 <|@
0 0 t999 CheckMaps t50 [0x3f3d14807179] pos:2814 <|@
0 1 i1000 LoadNamedField t50.%length@24 type:Smi pos:2814 <|@
0 2 i1002 Sub i1000 i138 ! type:TaggedNumber pos:2822 <|@
0 0 v1020 Simulate id=656 pop 1 / var[3] = t994, var[14] = i1002 type:Tagged pos:2792 <|@
0 0 v1021 Goto B103 type:Tagged pos:2792 <|@
end_HIR
begin_LIR
2128 label () () () () [hir:v975] <|@
2130 gap () () () () [hir:v975] <|@
2132 constant-t [rax|R]= [hir:t976] <|@
2134 gap ((0) = [rax|R];) () () () [hir:t976] <|@
2136 load-named-field [rcx|R]= [rax|R] [hir:t977] <|@
2138 gap ((0) = [rcx|R];) () () () [hir:t977] <|@
2140 check-non-smi = [rcx|R] [id=127|deopt_id=107|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t978] <|@
2142 gap () () () () [hir:t978] <|@
2144 check-maps = [rcx|R] [id=127|deopt_id=108|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t979] <|@
2146 gap () () () () [hir:t979] <|@
2148 check-maps = NULL [hir:t981] <|@
2150 gap () () () () [hir:t981] <|@
2152 check-maps = NULL [hir:t983] <|@
2154 gap () () () () [hir:t983] <|@
2156 check-maps = NULL [hir:t985] <|@
2158 gap () () () () [hir:t985] <|@
2160 push-argument = [rcx|R] [hir:t989] <|@
2162 gap () () () () [hir:t989] <|@
2164 push-argument = [constant:987] [hir:t989] <|@
2166 gap () () () () [hir:t989] <|@
2168 constant-e [rdx|R]= [hir:x991] <|@
2170 gap ((0) = [rdx|R];) () () () [hir:x991] <|@
2172 constant-t [rdi|R]= [hir:t992] <|@
2174 gap ((0) = [rdi|R];) () () () [hir:t992] <|@
2176 constant-t [rbx|R]= [hir:t5] <|@
2178 gap ((0) = [rbx|R];) ([rsi|R] = [stack:0]; [rdi|R]; [rbx|R]; [rcx|R]; [rdx|R];) () () [hir:t5] <|@
2180 call-with-descriptor [rax|R][constant:993] [rsi|R] [rdi|R] [rbx|R] [rcx|R] [rdx|R] #1 / {[rsi|R];[rdi|R];[rbx|R];[rcx|R];[stack:0];[stack:5];[stack:6];[stack:9]} [hir:t994] <|@
2182 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t994] <|@
2184 lazy-bailout = [id=640|deopt_id=109|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v995] <|@
2186 gap () () ([rbx|R] = [stack:5];) () [hir:v995] <|@
2188 check-maps = [rbx|R] [id=640|deopt_id=110|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t999] <|@
2190 gap () () () () [hir:t999] <|@
2192 load-named-field [rdx|R]= [rbx|R] [hir:i1000] <|@
2194 gap ((0) = [rdx|R];) ([rdx|R];) () () [hir:i1000] <|@
2196 sub-i [rdx|R]= [rdx|R] [constant:138] [id=640|deopt_id=111|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i1002] <|@
2198 gap ((0) = [rdx|R];) () () () [hir:i1002] <|@
2200 gap () ([r8|R] = [rax|R]; [rdi|R] = [rdx|R]; [rcx|R] = [stack:9]; [rax|R] = [stack:7];) () () [hir:v1021] <|@
2202 goto B103 [hir:v1021] <|@
end_LIR
end_block
begin_block
name "B103"
from_bci -1
to_bci -1
predecessors "B102" "B110"
successors "B104" "B112"
xhandlers
flags "dom-loop-succ"
dominator "B102"
loop_depth 1
first_lir_id 2204
last_lir_id 2210
begin_states
begin_locals
size 4
method "None"
3 t1008 [ t994 t1066 uses:7_0s_0i_0d_0t type:Tagged]
14 i1019 [ i1002 i1071 uses:4_2s_0i_0d_0t type:TaggedNumber]
-1 t1219 [ t1087 t1219 uses:4_0s_0i_0d_0t type:Tagged]
-1 i1221 [ i1089 i1221 uses:4_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v1022 BlockEntry type:Tagged pos:2827 <|@
0 0 t1217 CapturedObject #1 t1086 t1219 t1088 i1221 type:Tagged pos:2827 <|@
0 0 i1025 CompareNumericAndBranch GTE i1019 i208 goto (B104, B112) type:Tagged pos:2829 <|@
end_HIR
begin_LIR
2204 label () ([stack:14] = [r8|R]; [stack:13] = [rdi|R]; [stack:16] = [rcx|R]; [stack:15] = [rax|R];) () () [hir:v1022] <|@
2206 gap () () () () [hir:v1022] <|@
2208 gap () () () () [hir:i1025] <|@
2210 compare-numeric-and-branch if [rdi|R] >= [constant:208] then B104 else B112 [hir:i1025] <|@
end_LIR
end_block
begin_block
name "B104"
from_bci -1
to_bci -1
predecessors "B103"
successors "B105"
xhandlers
flags "dom-loop-succ"
dominator "B103"
loop_depth 1
first_lir_id 2212
last_lir_id 2218
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1026 BlockEntry type:Tagged pos:2829 <|@
0 0 v1027 Simulate id=688 type:Tagged pos:2829 <|@
0 0 v1028 Goto B105 type:Tagged pos:2829 <|@
end_HIR
begin_LIR
2212 label () () () () Dead block replaced with B105 [hir:v1026] <|@
2214 gap () () () () [hir:v1026] <|@
2216 gap () () () () [hir:v1028] <|@
2218 goto B105 [hir:v1028] <|@
end_LIR
end_block
begin_block
name "B105"
from_bci -1
to_bci -1
predecessors "B104"
successors "B107" "B106"
xhandlers
flags "dom-loop-succ"
dominator "B104"
loop_depth 1
first_lir_id 2220
last_lir_id 2230
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1032 BlockEntry type:Tagged pos:2837 <|@
0 0 t1034 CheckHeapObject t1008 pos:2845 <|@
0 0 t1035 CompareMap t1008 (0x3f3d14807331) goto (B107, B106) type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2220 label () () () () [hir:v1032] <|@
2222 gap () () () () [hir:v1032] <|@
2224 check-non-smi = [r8|R] [id=688|deopt_id=112|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[r8|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R]] [hir:t1034] <|@
2226 gap () () () () [hir:t1034] <|@
2228 gap () () () () [hir:t1035] <|@
2230 cmp-map-and-branch = [r8|R] [hir:t1035] <|@
end_LIR
end_block
begin_block
name "B106"
from_bci -1
to_bci -1
predecessors "B105"
successors "B108"
xhandlers
flags
dominator "B105"
loop_depth 1
first_lir_id 2232
last_lir_id 2250
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1040 BlockEntry type:Tagged pos:2845 <|@
0 2 t1041 LoadNamedGeneric t1008.length changes[*] type:Tagged pos:2845 <|@
0 0 v1042 Simulate id=698 push t1041 type:Tagged pos:2845 <|@
0 1 i1241 Change t1041 t to i allow-undefined-as-nan type:TaggedNumber pos:2845 <|@
0 0 v1043 Goto B108 type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2232 label () () () () [hir:v1040] <|@
2234 gap () ([rsi|R] = [stack:0]; [rdx|R] = [r8|R];) () () [hir:v1040] <|@
2236 load-named-generic [rax|R]= [rsi|R] [rdx|R] {[rsi|R];[rdx|R];[stack:0];[stack:5];[stack:6];[stack:14];[stack:16]} [hir:t1041] <|@
2238 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t1041] <|@
2240 lazy-bailout = [id=698|deopt_id=113|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[stack:14];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[stack:13];[rax|R]] [hir:v1042] <|@
2242 gap () ([rbx|R] = [rax|R];) () () [hir:v1042] <|@
2244 tagged-to-i [rbx|R]= [rbx|R] [id=698|deopt_id=118|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[stack:14];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[stack:13];[rax|R]] [hir:i1241] <|@
2246 gap ((0) = [rbx|R];) () () () [hir:i1241] <|@
2248 gap () ([rbx|R]; [rax|R] = [stack:14];) () () [hir:v1043] <|@
2250 goto B108 [hir:v1043] <|@
end_LIR
end_block
begin_block
name "B107"
from_bci -1
to_bci -1
predecessors "B105"
successors "B108"
xhandlers
flags
dominator "B105"
loop_depth 1
first_lir_id 2252
last_lir_id 2262
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1036 BlockEntry type:Tagged pos:2845 <|@
0 2 i1037 LoadNamedField t1008.%length@24 type:Smi pos:2845 <|@
0 0 v1038 Simulate id=698 push i1037 type:Tagged pos:2845 <|@
0 0 v1039 Goto B108 type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2252 label () () () () [hir:v1036] <|@
2254 gap () () ([rax|R] = [stack:14];) () [hir:v1036] <|@
2256 load-named-field [rbx|R]= [rax|R] [hir:i1037] <|@
2258 gap ((0) = [rbx|R];) () () () [hir:i1037] <|@
2260 gap () ([rbx|R];) () () [hir:v1039] <|@
2262 goto B108 [hir:v1039] <|@
end_LIR
end_block
begin_block
name "B108"
from_bci -1
to_bci -1
predecessors "B107" "B106"
successors "B109" "B111"
xhandlers
flags "dom-loop-succ"
dominator "B105"
loop_depth 1
first_lir_id 2264
last_lir_id 2270
begin_states
begin_locals
size 1
method "None"
15 i1044 [ i1037 i1241 uses:1_1s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v1045 BlockEntry type:Tagged pos:2845 <|@
0 0 t1222 CapturedObject #1 t1086 t1219 t1088 i1221 type:Tagged pos:2845 <|@
0 0 v1046 Branch i1044 goto (B109, B111) (Smi) type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2264 label () ((0) = [rbx|R];) () () [hir:v1045] <|@
2266 gap () () () () [hir:v1045] <|@
2268 gap () () () () [hir:v1046] <|@
2270 branch B109 | B111 on [rbx|R] [hir:v1046] <|@
end_LIR
end_block
begin_block
name "B109"
from_bci -1
to_bci -1
predecessors "B108"
successors "B110"
xhandlers
flags "dom-loop-succ"
dominator "B108"
loop_depth 1
first_lir_id 2272
last_lir_id 2278
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1047 BlockEntry type:Tagged pos:2845 <|@
0 0 v1048 Simulate id=660 pop 1 type:Tagged pos:2845 <|@
0 0 v1049 Goto B110 type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2272 label () () () () Dead block replaced with B110 [hir:v1047] <|@
2274 gap () () () () [hir:v1047] <|@
2276 gap () () () () [hir:v1049] <|@
2278 goto B110 [hir:v1049] <|@
end_LIR
end_block
begin_block
name "B110"
from_bci -1
to_bci -1
predecessors "B109"
successors "B103"
xhandlers
flags "dom-loop-succ"
dominator "B109"
loop_depth 1
first_lir_id 2280
last_lir_id 2330
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1053 BlockEntry type:Tagged pos:2792 <|@
0 0 v1054 Simulate id=660 type:Tagged pos:2792 <|@
0 0 v1055 StackCheck t1 changes[NewSpacePromotion] type:Tagged pos:2792 <|@
0 0 t1059 CheckMaps t50 [0x3f3d14807179] pos:2892 <|@
0 1 t1060 LoadNamedField t50.%elements@16 type:Tagged pos:2892 <|@
0 1 i1061 LoadNamedField t50.%length@24 type:Smi pos:2892 <|@
0 0 i1062 BoundsCheck i1019 i1061 type:Tagged pos:2892 <|@
0 1 t1063 LoadKeyed t1060[i1019] t50 type:Tagged pos:2892 <|@
0 0 t1065 PushArguments t50 t1008 type:Tagged pos:2892 <|@
0 3 t1066 CallFunction t1 t1063 changes[*] type:Tagged pos:2892 <|@
0 0 v1067 Simulate id=724 var[3] = t5, push t1066 type:Tagged pos:2892 <|@
0 2 i1071 Add i1019 i1070 type:TaggedNumber pos:2855 <|@
0 0 v1073 Simulate id=656 pop 1 / var[14] = i1071, var[3] = t1066 type:Tagged pos:2792 <|@
0 0 v1074 Goto B103 type:Tagged pos:2792 <|@
end_HIR
begin_LIR
2280 label () () () () [hir:v1053] <|@
2282 gap () () () () [hir:v1053] <|@
2284 stack-check = [stack:0] [id=660|deopt_id=114|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[stack:13]] {[stack:0];[stack:5];[stack:6];[stack:14];[rax|R];[stack:16]} [hir:v1055] <|@
2286 gap () () ([rbx|R] = [stack:5];) () [hir:v1055] <|@
2288 check-maps = [rbx|R] [id=660|deopt_id=115|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[stack:13]] [hir:t1059] <|@
2290 gap () () () () [hir:t1059] <|@
2292 load-named-field [rdx|R]= [rbx|R] [hir:t1060] <|@
2294 gap ((0) = [rdx|R];) () () () [hir:t1060] <|@
2296 load-named-field [rcx|R]= [rbx|R] [hir:i1061] <|@
2298 gap ((0) = [rcx|R];) () ([r8|R] = [stack:13];) () [hir:i1061] <|@
2300 bounds-check = [r8|R] [rcx|R] [id=660|deopt_id=116|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R];[constant:5];[constant:5];[constant:5];[r8|R]] [hir:i1062] <|@
2302 gap () () () () [hir:i1062] <|@
2304 load-keyed [rdi|R][rdx|R][[r8|R]] [hir:t1063] <|@
2306 gap ((0) = [rdi|R];) () () () [hir:t1063] <|@
2308 push-argument = [rbx|R] [hir:t1065] <|@
2310 gap () () () () [hir:t1065] <|@
2312 push-argument = [rax|R] [hir:t1065] <|@
2314 gap () ([rsi|R] = [stack:0]; [rdi|R];) () () [hir:t1065] <|@
2316 call-function [rax|R][rsi|R] [rdi|R] {[rsi|R];[rdi|R];[stack:0];[stack:5];[stack:6];[stack:16]} [hir:t1066] <|@
2318 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t1066] <|@
2320 lazy-bailout = [id=724|deopt_id=117|parameters=2|arguments_stack_height=0|[stack:-2];[stack:6];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:5];[constant:5];[constant:5];[constant:5];[stack:13];[rax|R]] [hir:v1067] <|@
2322 gap () () ([rbx|R] = [stack:13];) () [hir:v1067] <|@
2324 add-i [rdi|R]= [rbx|R] [constant:1070] [hir:i1071] <|@
2326 gap ((0) = [rdi|R];) () () () [hir:i1071] <|@
2328 gap () ([r8|R] = [rax|R]; [rdi|R]; [rcx|R] = [stack:16]; [rax|R] = [stack:15]; [rbx|R] = [stack:5];) () () [hir:v1074] <|@
2330 goto B103 [hir:v1074] <|@
end_LIR
end_block
begin_block
name "B111"
from_bci -1
to_bci -1
predecessors "B108"
successors "B113"
xhandlers
flags
dominator "B108"
loop_depth 0
first_lir_id 2332
last_lir_id 2338
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1050 BlockEntry type:Tagged pos:2845 <|@
0 0 v1051 Simulate id=657 pop 1 / var[14] = t5, var[10] = t5 type:Tagged pos:2845 <|@
0 0 v1052 Goto B113 type:Tagged pos:2845 <|@
end_HIR
begin_LIR
2332 label () () () () Dead block replaced with B113 [hir:v1050] <|@
2334 gap () () () () [hir:v1050] <|@
2336 gap () () () () [hir:v1052] <|@
2338 goto B113 [hir:v1052] <|@
end_LIR
end_block
begin_block
name "B112"
from_bci -1
to_bci -1
predecessors "B103"
successors "B113"
xhandlers
flags
dominator "B103"
loop_depth 0
first_lir_id 2340
last_lir_id 2346
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1029 BlockEntry type:Tagged pos:2829 <|@
0 0 v1030 Simulate id=657 var[14] = t5, var[10] = t5 type:Tagged pos:2829 <|@
0 0 v1031 Goto B113 type:Tagged pos:2829 <|@
end_HIR
begin_LIR
2340 label () ([rax|R] = [r8|R];) () () [hir:v1029] <|@
2342 gap () () () () [hir:v1029] <|@
2344 gap () () () () [hir:v1031] <|@
2346 goto B113 [hir:v1031] <|@
end_LIR
end_block
begin_block
name "B113"
from_bci -1
to_bci -1
predecessors "B112" "B111"
successors
xhandlers
flags
dominator "B103"
loop_depth 0
first_lir_id 2348
last_lir_id 2354
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v1075 BlockEntry type:Tagged pos:2922 <|@
0 0 t1223 CapturedObject #1 t1086 t1219 t1088 i1221 type:Tagged pos:2922 <|@
0 1 s1242 Constant 1 type:Smi pos:2915 <|@
0 0 v1078 Return t1008 (pop s1242 values) type:Tagged pos:2915 <|@
end_HIR
begin_LIR
2348 label () () () () [hir:v1075] <|@
2350 gap () ([rax|R];) () () [hir:v1075] <|@
2352 return = [rax|R] NULL [constant:1242] [hir:v1078] <|@
2354 gap () () () () [hir:v1078] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "$.testId"
method "$.testId:4"
date 1432461308000
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 2 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 42
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 t11 FunctionLiteral t1 changes[NewSpacePromotion] pos:22 <|@
0 1 s15 Constant 1 type:Smi pos:15 <|@
0 0 v13 Return t11 (pop s15 values) type:Tagged pos:15 <|@
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 () ([rsi|R] = [stack:0];) () () [hir:v10] <|@
32 function-literal [rax|R]= [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:t11] <|@
34 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t11] <|@
36 lazy-bailout = [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:t11] <|@
38 gap () ([rax|R];) () () [hir:t11] <|@
40 return = [rax|R] NULL [constant:15] [hir:v13] <|@
42 gap () () () () [hir:v13] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "$.testDirectParent"
method "$.testDirectParent:5"
date 1432461308000
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 2 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 42
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 t11 FunctionLiteral t1 changes[NewSpacePromotion] pos:26 <|@
0 1 s15 Constant 1 type:Smi pos:19 <|@
0 0 v13 Return t11 (pop s15 values) type:Tagged pos:19 <|@
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 () ([rsi|R] = [stack:0];) () () [hir:v10] <|@
32 function-literal [rax|R]= [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:t11] <|@
34 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t11] <|@
36 lazy-bailout = [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:t11] <|@
38 gap () ([rax|R];) () () [hir:t11] <|@
40 return = [rax|R] NULL [constant:15] [hir:v13] <|@
42 gap () () () () [hir:v13] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "exec"
method "exec:6"
date 1432461308000
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 9 i319 Constant 1 type:Smi <|@
0 8 i318 Constant 0 type:Smi <|@
0 5 t209 Constant 0x315a30704101 <null> [map 0x3f3d148041b1] <|@
0 33 t5 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 31 t1 Context type:Tagged <|@
0 22 t2 Parameter 0 type:Tagged <|@
0 6 t3 Parameter 1 type:Tagged <|@
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@
0 0 v6 Simulate id=2 var[12] = t5, var[11] = t5, var[10] = t5, var[9] = t5, var[8] = t5, var[7] = t5, var[6] = t5, var[5] = t5, 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: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 "B4" "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 0 v12 HasInstanceTypeAndBranch t2 reg_exp type:Tagged pos:10 <|@
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];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] {[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];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v10] <|@
30 gap () () () () [hir:v10] <|@
32 gap () () ([rax|R] = [stack:-2];) () [hir:v12] <|@
34 has-instance-type-and-branch if has_instance_type([rax|R]) then B4 else B2 [hir:v12] <|@
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 36
last_lir_id 42
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v16 BlockEntry type:Tagged pos:10 <|@
0 0 v17 Simulate id=27 type:Tagged pos:10 <|@
0 0 v18 Goto B3 type:Tagged pos:10 <|@
end_HIR
begin_LIR
36 label () () () () Dead block replaced with B3 [hir:v16] <|@
38 gap () () () () [hir:v16] <|@
40 gap () () () () [hir:v18] <|@
42 goto B3 [hir:v18] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B2"
successors
xhandlers
flags
dominator "B2"
loop_depth 0
first_lir_id 44
last_lir_id 158
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v19 BlockEntry type:Tagged pos:36 <|@
0 2 t20 Constant 0x315a30797b41 <JS Function MakeTypeError (SharedFunctionInfo 0x315a3074de69)> pos:36 <|@
0 2 t21 Constant 0x171db99234b9 <String[28]: incompatible_method_receiver> [map 0x3f3d14804261] pos:50 <|@
0 1 i490 Constant 64 type:Smi pos:82 <|@
0 17 t23 Allocate i490 (N) changes[NewSpacePromotion] [noOSE] pos:82 <|@
0 0 v491 StoreNamedField t23.[in-object]@32 = i318 type:Tagged pos:82 <|@
0 2 t24 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:82 <|@
0 0 v25 StoreNamedField t23.%elements@16 = t24 changes[ElementsPointer] type:Tagged [noOSE] pos:82 <|@
0 1 t26 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:82 <|@
0 0 v27 StoreNamedField t23.%map@0 = t26 changes[Maps] type:Tagged [noOSE] pos:82 <|@
0 0 v29 StoreNamedField t23.[in-object]@8 = t24 changes[InobjectFields] type:Tagged [noOSE] pos:82 <|@
0 2 s475 Constant 2 type:Smi pos:82 <|@
0 0 v31 StoreNamedField t23.%length@24 = s475 changes[ArrayLengths] type:Tagged [noOSE] pos:82 <|@
0 1 i492 Constant 32 type:Smi pos:82 <|@
0 7 t493 InnerAllocatedObject t23 offset Constant 32 type:Smi pos:82 <|@
0 0 v34 StoreNamedField t23.%elements@16 = t493 changes[ElementsPointer] type:Tagged [noOSE] pos:82 <|@
0 1 t36 Constant 0x3f3d14804209 <Map(elements=0)> [stable-map] [map 0x3f3d14804159] [noOSE] pos:82 <|@
0 0 v37 StoreNamedField t493.%map@0 = t36 changes[Maps] type:Tagged [noOSE] pos:82 <|@
0 0 v38 StoreNamedField t493.%length@8 = s475 changes[ArrayLengths] type:Tagged [noOSE] pos:82 <|@
0 4 t39 Constant 0x1b0227021f11 <FixedArray[2]> [map 0x3f3d14804209] [new space] [noOSE] pos:82 <|@
0 2 i40 Constant 0 type:Smi [noOSE] pos:82 <|@
0 1 t41 LoadKeyed t39[i40] type:Tagged [noOSE] pos:82 <|@
0 0 v42 StoreKeyed t493[i40] = t41 changes[ArrayElements] type:Tagged [noOSE] pos:82 <|@
0 2 i43 Constant 1 type:Smi [noOSE] pos:82 <|@
0 1 t44 LoadKeyed t39[i43] type:Tagged [noOSE] pos:82 <|@
0 0 v45 StoreKeyed t493[i43] = t44 changes[ArrayElements] type:Tagged [noOSE] pos:82 <|@
0 1 t47 LoadNamedField t23.%elements@16 type:Tagged pos:82 <|@
0 0 v49 StoreKeyed t47[i319] = t2 changes[ArrayElements] type:Tagged pos:82 <|@
0 0 v50 Simulate id=56 push t20, push t5, push t21, push t23, push i318 type:Tagged pos:82 <|@
0 1 t52 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:36 <|@
0 0 t53 PushArguments t52 t21 t23 type:Tagged pos:36 <|@
0 2 t55 CallJSFunction t20 #3 changes[*] type:Tagged pos:36 <|@
0 0 v56 Simulate id=43 pop 5 / push t55 type:Tagged pos:36 <|@
0 0 t57 PushArguments t55 type:Tagged pos:30 <|@
0 0 t58 CallRuntime #1 changes[*] type:Tagged pos:30 <|@
0 0 v59 Simulate id=41 pop 1 type:Tagged pos:30 <|@
0 0 v60 AbnormalExit goto () type:Tagged pos:30 <|@
end_HIR
begin_LIR
44 label () () () () [hir:v19] <|@
46 gap () () () () [hir:v19] <|@
48 allocate [rdx|R]= [stack:0] [constant:490] {[stack:0];[rax|R];[rdx|R]} [hir:t23] <|@
50 gap ((0) = [rdx|R];) () () () [hir:t23] <|@
52 store-named-field [rdx|R].[in-object]@32 <- [constant:318] [hir:v491] <|@
54 gap () () () () [hir:v491] <|@
56 store-named-field [rdx|R].%elements@16 <- [constant:24] [hir:v25] <|@
58 gap () () () () [hir:v25] <|@
60 store-named-field [rdx|R].%map@0 <- [constant:26] [hir:v27] <|@
62 gap () () () () [hir:v27] <|@
64 store-named-field [rdx|R].[in-object]@8 <- [constant:24] [hir:v29] <|@
66 gap () () () () [hir:v29] <|@
68 store-named-field [rdx|R].%length@24 <- [constant:475] [hir:v31] <|@
70 gap () () () () [hir:v31] <|@
72 inner-allocated-object [rbx|R] = [rdx|R] + [constant:492] [hir:t493] <|@
74 gap ((0) = [rbx|R];) () () () [hir:t493] <|@
76 store-named-field [rdx|R].%elements@16 <- [rbx|R] [hir:v34] <|@
78 gap () () () () [hir:v34] <|@
80 store-named-field [rbx|R].%map@0 <- [constant:36] [hir:v37] <|@
82 gap () () () () [hir:v37] <|@
84 store-named-field [rbx|R].%length@8 <- [constant:475] [hir:v38] <|@
86 gap () () () () [hir:v38] <|@
88 constant-t [rcx|R]= [hir:t39] <|@
90 gap ((0) = [rcx|R];) () () () [hir:t39] <|@
92 load-keyed [rcx|R][rcx|R][[constant:40]] [hir:t41] <|@
94 gap ((0) = [rcx|R];) () () () [hir:t41] <|@
96 store-keyed [rbx|R][[constant:40]] <- [rcx|R] [hir:v42] <|@
98 gap () () () () [hir:v42] <|@
100 constant-t [rcx|R]= [hir:t39] <|@
102 gap ((0) = [rcx|R];) () () () [hir:t39] <|@
104 load-keyed [rcx|R][rcx|R][[constant:43]] [hir:t44] <|@
106 gap ((0) = [rcx|R];) () () () [hir:t44] <|@
108 store-keyed [rbx|R][[constant:43]] <- [rcx|R] [hir:v45] <|@
110 gap () () () () [hir:v45] <|@
112 load-named-field [rbx|R]= [rdx|R] [hir:t47] <|@
114 gap ((0) = [rbx|R];) () () () [hir:t47] <|@
116 constant-i [rcx|R]= [hir:i319] <|@
118 gap ((0) = [rcx|R];) ([rsi|R] = [rbx|R]; [rcx|R]; [rbx|R] = [rax|R];) () () [hir:i319] <|@
120 store-keyed [rsi|R][[rcx|R]] <- [rbx|R] [hir:v49] <|@
122 gap () () () () [hir:v49] <|@
124 push-argument = [constant:52] [hir:t53] <|@
126 gap () () () () [hir:t53] <|@
128 push-argument = [constant:21] [hir:t53] <|@
130 gap () () () () [hir:t53] <|@
132 push-argument = [rdx|R] [hir:t53] <|@
134 gap () () () () [hir:t53] <|@
136 constant-t [rdi|R]= [hir:t20] <|@
138 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t20] <|@
140 call-js-function [rax|R]= [rdi|R]#2 / {[rdi|R];[stack:0]} [hir:t55] <|@
142 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t55] <|@
144 lazy-bailout = [id=43|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v56] <|@
146 gap () () () () [hir:v56] <|@
148 push-argument = [rax|R] [hir:t57] <|@
150 gap () ([rsi|R] = [stack:0];) () () [hir:t57] <|@
152 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t58] <|@
154 gap ((0) = [rax|R];) () () () [hir:t58] <|@
156 lazy-bailout = [id=41|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v59] <|@
158 gap () () () () [hir:v59] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B1"
successors "B5"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 160
last_lir_id 166
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v13 BlockEntry type:Tagged pos:10 <|@
0 0 v14 Simulate id=28 type:Tagged pos:10 <|@
0 0 v15 Goto B5 type:Tagged pos:10 <|@
end_HIR
begin_LIR
160 label () () () () Dead block replaced with B5 [hir:v13] <|@
162 gap () () () () [hir:v13] <|@
164 gap () () () () [hir:v15] <|@
166 goto B5 [hir:v15] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B4"
successors "B8" "B6"
xhandlers
flags
dominator "B4"
loop_depth 0
first_lir_id 168
last_lir_id 174
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v61 BlockEntry type:Tagged pos:139 <|@
0 0 v62 TypeofIsAndBranch t3 == string goto (B8, B6) type:Tagged pos:139 <|@
end_HIR
begin_LIR
168 label () () () () [hir:v61] <|@
170 gap () () () () [hir:v61] <|@
172 gap () ([rax|R] = [stack:-1];) () () [hir:v62] <|@
174 typeof-is-and-branch if typeof [rax|R] == "string" then B8 else B6 [hir:v62] <|@
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 176
last_lir_id 182
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v66 BlockEntry type:Tagged pos:139 <|@
0 0 v67 Simulate id=71 type:Tagged pos:139 <|@
0 0 v68 Goto B7 type:Tagged pos:139 <|@
end_HIR
begin_LIR
176 label () () () () Dead block replaced with B7 [hir:v66] <|@
178 gap () () () () [hir:v66] <|@
180 gap () () () () [hir:v68] <|@
182 goto B7 [hir:v68] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B6"
successors "B10"
xhandlers
flags
dominator "B6"
loop_depth 0
first_lir_id 184
last_lir_id 210
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v69 BlockEntry type:Tagged pos:154 <|@
0 1 t70 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:154 <|@
0 1 t72 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:154 <|@
0 0 t73 PushArguments t72 t3 type:Tagged pos:154 <|@
0 2 t75 CallJSFunction t70 #2 changes[*] type:Tagged pos:154 <|@
0 0 v76 Simulate id=86 push t75 type:Tagged pos:154 <|@
0 0 v80 Simulate id=68 type:Tagged pos:120 <|@
0 0 v81 Goto B10 type:Tagged pos:120 <|@
end_HIR
begin_LIR
184 label () () () () [hir:v69] <|@
186 gap () () () () [hir:v69] <|@
188 push-argument = [constant:72] [hir:t73] <|@
190 gap () () ([rax|R] = [stack:-1];) () [hir:t73] <|@
192 push-argument = [rax|R] [hir:t73] <|@
194 gap () () () () [hir:t73] <|@
196 constant-t [rdi|R]= [hir:t70] <|@
198 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t70] <|@
200 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0]} [hir:t75] <|@
202 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t75] <|@
204 lazy-bailout = [id=86|deopt_id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v76] <|@
206 gap () () () () [hir:v76] <|@
208 gap () ([rax|R];) () () [hir:v81] <|@
210 goto B10 [hir:v81] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B5"
successors "B9"
xhandlers
flags
dominator "B5"
loop_depth 0
first_lir_id 212
last_lir_id 218
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v63 BlockEntry type:Tagged pos:139 <|@
0 0 v64 Simulate id=70 type:Tagged pos:139 <|@
0 0 v65 Goto B9 type:Tagged pos:139 <|@
end_HIR
begin_LIR
212 label () () () () Dead block replaced with B9 [hir:v63] <|@
214 gap () () () () [hir:v63] <|@
216 gap () () () () [hir:v65] <|@
218 goto B9 [hir:v65] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B10"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 220
last_lir_id 226
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v77 BlockEntry type:Tagged pos:120 <|@
0 0 v78 Simulate id=68 push t3 type:Tagged pos:120 <|@
0 0 v79 Goto B10 type:Tagged pos:120 <|@
end_HIR
begin_LIR
220 label () () () () [hir:v77] <|@
222 gap () () () () [hir:v77] <|@
224 gap () ([rax|R] = [stack:-1];) () () [hir:v79] <|@
226 goto B10 [hir:v79] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9" "B7"
successors "B13" "B11"
xhandlers
flags
dominator "B5"
loop_depth 0
first_lir_id 228
last_lir_id 246
begin_states
begin_locals
size 1
method "None"
13 t82 [ t3 t75 uses:7_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v83 BlockEntry type:Tagged pos:187 <|@
0 0 t84 CheckHeapObject t2 pos:187 <|@
0 0 t85 CheckMaps t2 [0x3f3d14807649] pos:187 <|@
0 6 t86 LoadNamedField t2.lastIndex[in-object]@56 type:Tagged pos:187 <|@
0 0 t89 IsSmiAndBranch t86 goto (B13, B11) type:Tagged pos:206 <|@
end_HIR
begin_LIR
228 label () ([stack:1] = [rax|R];) () () [hir:v83] <|@
230 gap () () ([rbx|R] = [stack:-2];) () [hir:v83] <|@
232 check-non-smi = [rbx|R] [id=68|deopt_id=4|parameters=2|arguments_stack_height=0|[rbx|R];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t84] <|@
234 gap () () () () [hir:t84] <|@
236 check-maps = [rbx|R] [id=68|deopt_id=5|parameters=2|arguments_stack_height=0|[rbx|R];[stack:-1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t85] <|@
238 gap () () () () [hir:t85] <|@
240 load-named-field [rdx|R]= [rbx|R] [hir:t86] <|@
242 gap ((0) = [rdx|R];) () () () [hir:t86] <|@
244 gap () () () () [hir:t89] <|@
246 is-smi-and-branch if is_smi([rdx|R]) then B13 else B11 [hir:t89] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B10"
successors "B12"
xhandlers
flags
dominator "B10"
loop_depth 0
first_lir_id 248
last_lir_id 254
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v93 BlockEntry type:Tagged pos:206 <|@
0 0 v94 Simulate id=124 pop 1 / var[3] = t86, var[1] = t82 type:Tagged pos:206 <|@
0 0 v95 Goto B12 type:Tagged pos:206 <|@
end_HIR
begin_LIR
248 label () () () () Dead block replaced with B12 [hir:v93] <|@
250 gap () () () () [hir:v93] <|@
252 gap () () () () [hir:v95] <|@
254 goto B12 [hir:v95] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B11"
successors "B15"
xhandlers
flags
dominator "B11"
loop_depth 0
first_lir_id 256
last_lir_id 294
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v98 BlockEntry type:Tagged pos:245 <|@
0 1 t99 Constant 0x315a30792469 <JS Function ToNumber (SharedFunctionInfo 0x315a30749159)> pos:245 <|@
0 1 t102 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:245 <|@
0 0 t103 PushArguments t102 t86 type:Tagged pos:245 <|@
0 2 t105 CallJSFunction t99 #2 changes[*] type:Tagged pos:245 <|@
0 0 v106 Simulate id=135 var[3] = t5, push t105 type:Tagged pos:245 <|@
0 0 t107 PushArguments t105 type:Tagged pos:228 <|@
0 2 t108 CallRuntime NumberToInteger #1 changes[*] type:Tagged pos:228 <|@
0 0 v109 Simulate id=132 pop 1 / push t108 type:Tagged pos:228 <|@
0 0 v112 Simulate id=121 type:Tagged pos:206 <|@
0 0 v113 Goto B15 type:Tagged pos:206 <|@
end_HIR
begin_LIR
256 label () () () () [hir:v98] <|@
258 gap () () () () [hir:v98] <|@
260 push-argument = [constant:102] [hir:t103] <|@
262 gap () () () () [hir:t103] <|@
264 push-argument = [rdx|R] [hir:t103] <|@
266 gap () () () () [hir:t103] <|@
268 constant-t [rdi|R]= [hir:t99] <|@
270 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t99] <|@
272 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t105] <|@
274 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t105] <|@
276 lazy-bailout = [id=135|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v106] <|@
278 gap () () () () [hir:v106] <|@
280 push-argument = [rax|R] [hir:t107] <|@
282 gap () ([rsi|R] = [stack:0];) () () [hir:t107] <|@
284 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1]} [hir:t108] <|@
286 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t108] <|@
288 lazy-bailout = [id=132|deopt_id=7|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v109] <|@
290 gap () () () () [hir:v109] <|@
292 gap () ([rdx|R] = [rax|R];) () () [hir:v113] <|@
294 goto B15 [hir:v113] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B10"
successors "B14"
xhandlers
flags
dominator "B10"
loop_depth 0
first_lir_id 296
last_lir_id 302
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v90 BlockEntry type:Tagged pos:206 <|@
0 0 v91 Simulate id=123 pop 1 / var[3] = t86, var[1] = t82 type:Tagged pos:206 <|@
0 0 v92 Goto B14 type:Tagged pos:206 <|@
end_HIR
begin_LIR
296 label () () () () Dead block replaced with B14 [hir:v90] <|@
298 gap () () () () [hir:v90] <|@
300 gap () () () () [hir:v92] <|@
302 goto B14 [hir:v92] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B13"
successors "B15"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 304
last_lir_id 310
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v96 BlockEntry type:Tagged pos:226 <|@
0 0 v110 Simulate id=121 var[3] = t5, push t86 type:Tagged pos:206 <|@
0 0 v111 Goto B15 type:Tagged pos:206 <|@
end_HIR
begin_LIR
304 label () () () () Dead block replaced with B15 [hir:v96] <|@
306 gap () () () () [hir:v96] <|@
308 gap () ([rdx|R];) () () [hir:v111] <|@
310 goto B15 [hir:v111] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14" "B12"
successors "B21" "B16"
xhandlers
flags
dominator "B10"
loop_depth 0
first_lir_id 312
last_lir_id 326
begin_states
begin_locals
size 1
method "None"
13 t114 [ t86 t108 uses:7_0s_0i_0d_2t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v115 BlockEntry type:Tagged pos:204 <|@
0 0 t118 CheckMaps t2 [0x3f3d14807649] pos:270 <|@
0 3 t119 LoadNamedField t2.global[in-object]@32 type:Tagged pos:270 <|@
0 0 v120 Branch t119 goto (B21, B16) (Bool) type:Tagged pos:277 <|@
end_HIR
begin_LIR
312 label () ((0) = [rdx|R];) () () [hir:v115] <|@
314 gap () () ([rax|R] = [stack:-2];) () [hir:v115] <|@
316 check-maps = [rax|R] [id=121|deopt_id=8|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rdx|R]] [hir:t118] <|@
318 gap () () () () [hir:t118] <|@
320 load-named-field [rbx|R]= [rax|R] [hir:t119] <|@
322 gap ((0) = [rbx|R];) () () () [hir:t119] <|@
324 gap () () () () [hir:v120] <|@
326 branch B21 | B16 on [rbx|R] [id=121|deopt_id=9|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rdx|R]] [hir:v120] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B15"
successors "B18" "B17"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 328
last_lir_id 334
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v121 BlockEntry type:Tagged pos:280 <|@
0 3 t122 Constant 0x315a30704181 <false> [map 0x3f3d148044c9] pos:280 <|@
0 0 v123 Branch t122 goto (B18, B17) (Bool) type:Tagged pos:295 <|@
end_HIR
begin_LIR
328 label () () () () Dead block replaced with B17 [hir:v121] <|@
330 gap () () () () [hir:v121] <|@
332 gap () () () () [hir:v123] <|@
334 goto B17 [hir:v123] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B20"
xhandlers
flags
dominator "B16"
loop_depth 0
first_lir_id 336
last_lir_id 342
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v129 BlockEntry type:Tagged pos:295 <|@
0 0 v130 Simulate id=165 pop 1 / var[4] = t114, push t122 type:Tagged pos:295 <|@
0 0 v131 Goto B20 type:Tagged pos:295 <|@
end_HIR
begin_LIR
336 label () () () () [hir:v129] <|@
338 gap () () () () [hir:v129] <|@
340 gap () ([rbx|R] = [constant:122];) () () [hir:v131] <|@
342 goto B20 [hir:v131] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B16"
successors "B19"
xhandlers
flags "dead"
dominator "B16"
loop_depth 0
first_lir_id 344
last_lir_id 350
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v124 BlockEntry type:Tagged pos:301 <|@
0 0 v125 Deoptimize goto (B19) type:Tagged pos:301 <|@
end_HIR
begin_LIR
344 label () () () () [hir:v124] <|@
346 gap () () () () [hir:v124] <|@
348 gap () () () () [hir:v125] <|@
350 deoptimize = [id=121|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rdx|R]] [hir:v125] <|@
end_LIR
end_block
begin_block
name "B19"
from_bci -1
to_bci -1
predecessors "B18"
successors "B20"
xhandlers
flags "dead"
dominator "B18"
loop_depth 0
first_lir_id 352
last_lir_id 366
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v126 BlockEntry type:Tagged pos:301 <|@
0 2 t127 LoadNamedGeneric t2.sticky changes[*] type:Tagged pos:301 <|@
0 0 v128 Simulate id=171 pop 1 / var[4] = t114, push t127 type:Tagged pos:301 <|@
0 0 v132 Simulate id=165 type:Tagged pos:295 <|@
0 0 v133 Goto B20 type:Tagged pos:295 <|@
end_HIR
begin_LIR
352 label () () () () [hir:v126] <|@
354 gap () () () () [hir:v126] <|@
356 dummy-use = [rax|R] [hir:t127] <|@
358 gap () () () () [hir:t127] <|@
360 dummy-use [rbx|R]= [stack:0] [hir:t127] <|@
362 gap ((0) = [rbx|R];) () () () [hir:t127] <|@
364 gap () ([rbx|R];) () () [hir:v133] <|@
366 goto B20 [hir:v133] <|@
end_LIR
end_block
begin_block
name "B20"
from_bci -1
to_bci -1
predecessors "B17" "B19"
successors "B22"
xhandlers
flags
dominator "B16"
loop_depth 0
first_lir_id 368
last_lir_id 374
begin_states
begin_locals
size 1
method "None"
13 t134 [ t122 t127 uses:2_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v138 BlockEntry type:Tagged pos:277 <|@
0 0 v139 Simulate id=152 pop 1 / push t134 type:Tagged pos:277 <|@
0 0 v140 Goto B22 type:Tagged pos:277 <|@
end_HIR
begin_LIR
368 label () ((0) = [rbx|R];) () () Dead block replaced with B22 [hir:v138] <|@
370 gap () () () () [hir:v138] <|@
372 gap () ([rbx|R];) () () [hir:v140] <|@
374 goto B22 [hir:v140] <|@
end_LIR
end_block
begin_block
name "B21"
from_bci -1
to_bci -1
predecessors "B15"
successors "B22"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 376
last_lir_id 382
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v135 BlockEntry type:Tagged pos:277 <|@
0 0 v136 Simulate id=152 pop 1 / var[4] = t114, push t119 type:Tagged pos:277 <|@
0 0 v137 Goto B22 type:Tagged pos:277 <|@
end_HIR
begin_LIR
376 label () () () () Dead block replaced with B22 [hir:v135] <|@
378 gap () () () () [hir:v135] <|@
380 gap () ([rbx|R];) () () [hir:v137] <|@
382 goto B22 [hir:v137] <|@
end_LIR
end_block
begin_block
name "B22"
from_bci -1
to_bci -1
predecessors "B21" "B20"
successors "B25" "B23"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 384
last_lir_id 390
begin_states
begin_locals
size 1
method "None"
13 t141 [ t119 t134 uses:4_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v142 BlockEntry type:Tagged pos:265 <|@
0 0 v145 Branch t141 goto (B25, B23) (Bool) type:Tagged pos:314 <|@
end_HIR
begin_LIR
384 label () ([stack:2] = [rbx|R];) () () [hir:v142] <|@
386 gap () () () () [hir:v142] <|@
388 gap () () () () [hir:v145] <|@
390 branch B25 | B23 on [rbx|R] [id=152|deopt_id=10|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[rdx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rbx|R]] [hir:v145] <|@
end_LIR
end_block
begin_block
name "B23"
from_bci -1
to_bci -1
predecessors "B22"
successors "B24"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 392
last_lir_id 398
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v149 BlockEntry type:Tagged pos:314 <|@
0 0 v150 Simulate id=182 pop 1 / var[4] = t5, var[5] = t141 type:Tagged pos:314 <|@
0 0 v151 Goto B24 type:Tagged pos:314 <|@
end_HIR
begin_LIR
392 label () () () () Dead block replaced with B24 [hir:v149] <|@
394 gap () () () () [hir:v149] <|@
396 gap () () () () [hir:v151] <|@
398 goto B24 [hir:v151] <|@
end_LIR
end_block
begin_block
name "B24"
from_bci -1
to_bci -1
predecessors "B23"
successors "B34"
xhandlers
flags
dominator "B23"
loop_depth 0
first_lir_id 400
last_lir_id 406
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v192 BlockEntry type:Tagged pos:381 <|@
0 0 v198 Simulate id=180 var[4] = i318 type:Tagged pos:311 <|@
0 1 t477 Constant 0 pos:311 <|@
0 0 v199 Goto B34 type:Tagged pos:311 <|@
end_HIR
begin_LIR
400 label () () () () [hir:v192] <|@
402 gap () () () () [hir:v192] <|@
404 gap () ([rdx|R] = [constant:477];) () () [hir:v199] <|@
406 goto B34 [hir:v199] <|@
end_LIR
end_block
begin_block
name "B25"
from_bci -1
to_bci -1
predecessors "B22"
successors "B26"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 408
last_lir_id 414
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v146 BlockEntry type:Tagged pos:314 <|@
0 0 v147 Simulate id=181 pop 1 / var[5] = t141 type:Tagged pos:314 <|@
0 0 v148 Goto B26 type:Tagged pos:314 <|@
end_HIR
begin_LIR
408 label () () () () Dead block replaced with B26 [hir:v146] <|@
410 gap () () () () [hir:v146] <|@
412 gap () () () () [hir:v148] <|@
414 goto B26 [hir:v148] <|@
end_LIR
end_block
begin_block
name "B26"
from_bci -1
to_bci -1
predecessors "B25"
successors "B27"
xhandlers
flags
dominator "B25"
loop_depth 0
first_lir_id 416
last_lir_id 422
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v152 BlockEntry type:Tagged pos:321 <|@
0 0 v155 Deoptimize goto (B27) type:Tagged pos:322 <|@
end_HIR
begin_LIR
416 label () () () () [hir:v152] <|@
418 gap () () () () [hir:v152] <|@
420 gap () () () () [hir:v155] <|@
422 deoptimize = [id=181|deopt_id=11|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[rdx|R];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v155] <|@
end_LIR
end_block
begin_block
name "B27"
from_bci -1
to_bci -1
predecessors "B26"
successors "B64" "B28"
xhandlers
flags "dead"
dominator "B26"
loop_depth 0
first_lir_id 424
last_lir_id 442
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v156 BlockEntry type:Tagged pos:322 <|@
0 2 t478 Constant 0 pos:322 <|@
0 2 t157 CompareGeneric LT t114 t478 changes[*] pos:322 <|@
0 0 v158 Simulate id=195 push t157 type:Tagged pos:322 <|@
0 0 v159 Branch t157 goto (B64, B28) (None) type:Tagged pos:322 <|@
end_HIR
begin_LIR
424 label () () () () [hir:v156] <|@
426 gap () () () () [hir:v156] <|@
428 dummy-use = [rdx|R] [hir:t157] <|@
430 gap () () () () [hir:t157] <|@
432 dummy-use = [constant:478] [hir:t157] <|@
434 gap () () () () [hir:t157] <|@
436 dummy-use [rcx|R]= [stack:0] [hir:t157] <|@
438 gap ((0) = [rcx|R];) () () () [hir:t157] <|@
440 gap () () () () [hir:v159] <|@
442 branch B64 | B28 on [rcx|R] [hir:v159] <|@
end_LIR
end_block
begin_block
name "B28"
from_bci -1
to_bci -1
predecessors "B27"
successors "B29"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 444
last_lir_id 450
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v163 BlockEntry type:Tagged pos:322 <|@
0 0 v164 Simulate id=193 pop 1 type:Tagged pos:322 <|@
0 0 v165 Goto B29 type:Tagged pos:322 <|@
end_HIR
begin_LIR
444 label () () () () Dead block replaced with B29 [hir:v163] <|@
446 gap () () () () [hir:v163] <|@
448 gap () () () () [hir:v165] <|@
450 goto B29 [hir:v165] <|@
end_LIR
end_block
begin_block
name "B29"
from_bci -1
to_bci -1
predecessors "B28"
successors "B30"
xhandlers
flags "dead"
dominator "B28"
loop_depth 0
first_lir_id 452
last_lir_id 458
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v166 BlockEntry type:Tagged pos:326 <|@
0 0 v168 Deoptimize goto (B30) type:Tagged pos:329 <|@
end_HIR
begin_LIR
452 label () () () () [hir:v166] <|@
454 gap () () () () [hir:v166] <|@
456 gap () () () () [hir:v168] <|@
458 deoptimize = [id=193|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[rdx|R];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v168] <|@
end_LIR
end_block
begin_block
name "B30"
from_bci -1
to_bci -1
predecessors "B29"
successors "B31"
xhandlers
flags "dead"
dominator "B29"
loop_depth 0
first_lir_id 460
last_lir_id 474
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v169 BlockEntry type:Tagged pos:329 <|@
0 2 t170 LoadNamedGeneric t82.length changes[*] type:Tagged pos:329 <|@
0 0 v171 Simulate id=208 push t114, push t170 type:Tagged pos:329 <|@
0 0 v172 Deoptimize goto (B31) type:Tagged pos:327 <|@
end_HIR
begin_LIR
460 label () () () () [hir:v169] <|@
462 gap () () () () [hir:v169] <|@
464 dummy-use = [stack:1] [hir:t170] <|@
466 gap () () () () [hir:t170] <|@
468 dummy-use [rcx|R]= [stack:0] [hir:t170] <|@
470 gap ((0) = [rcx|R];) () () () [hir:t170] <|@
472 gap () () () () [hir:v172] <|@
474 deoptimize = [id=208|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[rdx|R];[rbx|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rdx|R];[rcx|R]] [hir:v172] <|@
end_LIR
end_block
begin_block
name "B31"
from_bci -1
to_bci -1
predecessors "B30"
successors "B63" "B32"
xhandlers
flags "dead"
dominator "B30"
loop_depth 0
first_lir_id 476
last_lir_id 494
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v173 BlockEntry type:Tagged pos:327 <|@
0 2 t174 CompareGeneric GT t114 t170 changes[*] pos:327 <|@
0 0 v175 Simulate id=203 pop 2 / push t174 type:Tagged pos:327 <|@
0 0 v176 Branch t174 goto (B63, B32) (None) type:Tagged pos:327 <|@
end_HIR
begin_LIR
476 label () () () () [hir:v173] <|@
478 gap () () () () [hir:v173] <|@
480 dummy-use = [rdx|R] [hir:t174] <|@
482 gap () () () () [hir:t174] <|@
484 dummy-use = [rcx|R] [hir:t174] <|@
486 gap () () () () [hir:t174] <|@
488 dummy-use [rcx|R]= [stack:0] [hir:t174] <|@
490 gap ((0) = [rcx|R];) () () () [hir:t174] <|@
492 gap () () () () [hir:v176] <|@
494 branch B63 | B32 on [rcx|R] [hir:v176] <|@
end_LIR
end_block
begin_block
name "B32"
from_bci -1
to_bci -1
predecessors "B31"
successors "B33"
xhandlers
flags "dead"
dominator "B31"
loop_depth 0
first_lir_id 496
last_lir_id 502
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v180 BlockEntry type:Tagged pos:327 <|@
0 0 v181 Simulate id=190 pop 1 type:Tagged pos:327 <|@
0 0 v182 Goto B33 type:Tagged pos:327 <|@
end_HIR
begin_LIR
496 label () () () () Dead block replaced with B33 [hir:v180] <|@
498 gap () () () () [hir:v180] <|@
500 gap () () () () [hir:v182] <|@
502 goto B33 [hir:v182] <|@
end_LIR
end_block
begin_block
name "B33"
from_bci -1
to_bci -1
predecessors "B32"
successors "B34"
xhandlers
flags "dead"
dominator "B32"
loop_depth 0
first_lir_id 504
last_lir_id 510
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v195 BlockEntry type:Tagged pos:311 <|@
0 0 v196 Simulate id=180 type:Tagged pos:311 <|@
0 0 v197 Goto B34 type:Tagged pos:311 <|@
end_HIR
begin_LIR
504 label () () () () Dead block replaced with B34 [hir:v195] <|@
506 gap () () () () [hir:v195] <|@
508 gap () ([rdx|R];) () () [hir:v197] <|@
510 goto B34 [hir:v197] <|@
end_LIR
end_block
begin_block
name "B34"
from_bci -1
to_bci -1
predecessors "B33" "B24"
successors "B61" "B35"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 512
last_lir_id 542
begin_states
begin_locals
size 1
method "None"
4 t200 [ t114 t477 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v201 BlockEntry type:Tagged pos:412 <|@
0 2 t203 Constant 0x315a30788af9 <JS Array[12]> [map 0x3f3d14809069] pos:414 <|@
0 0 t204 PushArguments t2 t82 t200 t203 type:Tagged pos:392 <|@
0 21 t205 CallStub RegExpExecStub t1 #4 changes[*] type:Tagged pos:392 <|@
0 0 v206 Simulate id=260 var[4] = t5, push t205 type:Tagged pos:392 <|@
0 0 v210 CompareObjectEqAndBranch t205 t209 goto (B61, B35) type:Tagged pos:442 <|@
end_HIR
begin_LIR
512 label () ((0) = [rdx|R];) () () [hir:v201] <|@
514 gap () () () () [hir:v201] <|@
516 push-argument = [rax|R] [hir:t204] <|@
518 gap () () () () [hir:t204] <|@
520 push-argument = [stack:1] [hir:t204] <|@
522 gap () () () () [hir:t204] <|@
524 push-argument = [rdx|R] [hir:t204] <|@
526 gap () () () () [hir:t204] <|@
528 push-argument = [constant:203] [hir:t204] <|@
530 gap () ([rsi|R] = [stack:0];) () () [hir:t204] <|@
532 call-stub [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2]} [hir:t205] <|@
534 gap ([stack:3] = [rax|R];) ([rax|R];) () () [hir:t205] <|@
536 lazy-bailout = [id=260|deopt_id=12|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[stack:2];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v206] <|@
538 gap () () () () [hir:v206] <|@
540 gap () () () () [hir:v210] <|@
542 cmp-object-eq-and-branch = [rax|R] [constant:209] [hir:v210] <|@
end_LIR
end_block
begin_block
name "B35"
from_bci -1
to_bci -1
predecessors "B34"
successors "B36"
xhandlers
flags
dominator "B34"
loop_depth 0
first_lir_id 544
last_lir_id 550
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v214 BlockEntry type:Tagged pos:442 <|@
0 0 v215 Simulate id=273 pop 1 / var[6] = t205 type:Tagged pos:442 <|@
0 0 v216 Goto B36 type:Tagged pos:442 <|@
end_HIR
begin_LIR
544 label () () () () Dead block replaced with B36 [hir:v214] <|@
546 gap () () () () [hir:v214] <|@
548 gap () () () () [hir:v216] <|@
550 goto B36 [hir:v216] <|@
end_LIR
end_block
begin_block
name "B36"
from_bci -1
to_bci -1
predecessors "B35"
successors "B39" "B37"
xhandlers
flags
dominator "B35"
loop_depth 0
first_lir_id 552
last_lir_id 566
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v226 BlockEntry type:Tagged pos:515 <|@
0 2 t228 Constant 0x315a3079ba51 PropertyCell for 0x315a30704101 <null> [map 0x3f3d148045d1] pos:514 <|@
0 0 v229 StoreNamedField t228.[in-object]@8 = t209 changes[GlobalVars] type:Tagged pos:514 <|@
0 0 v230 Simulate id=306 push t209 type:Tagged pos:514 <|@
0 0 v232 Branch t141 goto (B39, B37) (Bool) type:Tagged pos:524 <|@
end_HIR
begin_LIR
552 label () () () () [hir:v226] <|@
554 gap () () () () [hir:v226] <|@
556 constant-t [rbx|R]= [hir:t228] <|@
558 gap ((0) = [rbx|R];) () () () [hir:t228] <|@
560 store-named-field [rbx|R].[in-object]@8 <- [constant:209] [hir:v229] <|@
562 gap () () () () [hir:v229] <|@
564 gap () () ([rbx|R] = [stack:2];) () [hir:v232] <|@
566 branch B39 | B37 on [rbx|R] [id=306|deopt_id=13|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:209]] [hir:v232] <|@
end_LIR
end_block
begin_block
name "B37"
from_bci -1
to_bci -1
predecessors "B36"
successors "B38"
xhandlers
flags
dominator "B36"
loop_depth 0
first_lir_id 568
last_lir_id 574
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v236 BlockEntry type:Tagged pos:524 <|@
0 0 v237 Simulate id=315 pop 1 type:Tagged pos:524 <|@
0 0 v238 Goto B38 type:Tagged pos:524 <|@
end_HIR
begin_LIR
568 label () () () () Dead block replaced with B38 [hir:v236] <|@
570 gap () () () () [hir:v236] <|@
572 gap () () () () [hir:v238] <|@
574 goto B38 [hir:v238] <|@
end_LIR
end_block
begin_block
name "B38"
from_bci -1
to_bci -1
predecessors "B37"
successors "B43"
xhandlers
flags
dominator "B37"
loop_depth 0
first_lir_id 576
last_lir_id 582
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v252 BlockEntry type:Tagged pos:521 <|@
0 0 v253 Simulate id=313 type:Tagged pos:521 <|@
0 0 v254 Goto B43 type:Tagged pos:521 <|@
end_HIR
begin_LIR
576 label () () () () Dead block replaced with B43 [hir:v252] <|@
578 gap () () () () [hir:v252] <|@
580 gap () () () () [hir:v254] <|@
582 goto B43 [hir:v254] <|@
end_LIR
end_block
begin_block
name "B39"
from_bci -1
to_bci -1
predecessors "B36"
successors "B40"
xhandlers
flags
dominator "B36"
loop_depth 0
first_lir_id 584
last_lir_id 590
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v233 BlockEntry type:Tagged pos:524 <|@
0 0 v234 Simulate id=314 pop 1 type:Tagged pos:524 <|@
0 0 v235 Goto B40 type:Tagged pos:524 <|@
end_HIR
begin_LIR
584 label () () () () Dead block replaced with B40 [hir:v233] <|@
586 gap () () () () [hir:v233] <|@
588 gap () () () () [hir:v235] <|@
590 goto B40 [hir:v235] <|@
end_LIR
end_block
begin_block
name "B40"
from_bci -1
to_bci -1
predecessors "B39"
successors "B41"
xhandlers
flags
dominator "B39"
loop_depth 0
first_lir_id 592
last_lir_id 598
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v239 BlockEntry type:Tagged pos:543 <|@
0 0 v242 Deoptimize goto (B41) type:Tagged pos:563 <|@
end_HIR
begin_LIR
592 label () () () () [hir:v239] <|@
594 gap () () () () [hir:v239] <|@
596 gap () () () () [hir:v242] <|@
598 deoptimize = [id=314|deopt_id=14|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v242] <|@
end_LIR
end_block
begin_block
name "B41"
from_bci -1
to_bci -1
predecessors "B40"
successors "B42"
xhandlers
flags "dead"
dominator "B40"
loop_depth 0
first_lir_id 600
last_lir_id 618
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v243 BlockEntry type:Tagged pos:563 <|@
0 1 t479 Constant 4 pos:563 <|@
0 2 t244 LoadKeyedGeneric t203[t479] changes[*] type:Tagged pos:563 <|@
0 0 v245 Simulate id=334 push t2, push t244 type:Tagged pos:563 <|@
0 0 v246 Deoptimize goto (B42) type:Tagged pos:542 <|@
end_HIR
begin_LIR
600 label () () () () [hir:v243] <|@
602 gap () () () () [hir:v243] <|@
604 dummy-use = [constant:479] [hir:t244] <|@
606 gap () () () () [hir:t244] <|@
608 dummy-use = [stack:0] [hir:t244] <|@
610 gap () () () () [hir:t244] <|@
612 dummy-use [rdx|R]= [constant:203] [hir:t244] <|@
614 gap ((0) = [rdx|R];) () () () [hir:t244] <|@
616 gap () () () () [hir:v246] <|@
618 deoptimize = [id=334|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[stack:-2];[rdx|R]] [hir:v246] <|@
end_LIR
end_block
begin_block
name "B42"
from_bci -1
to_bci -1
predecessors "B41"
successors "B43"
xhandlers
flags "dead"
dominator "B41"
loop_depth 0
first_lir_id 620
last_lir_id 638
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v247 BlockEntry type:Tagged pos:542 <|@
0 0 v248 StoreNamedGeneric t2.lastIndex = t244 changes[*] type:Tagged pos:542 <|@
0 0 v249 Simulate id=321 pop 2 type:Tagged pos:542 <|@
0 0 v250 Simulate id=313 type:Tagged pos:521 <|@
0 0 v251 Goto B43 type:Tagged pos:521 <|@
end_HIR
begin_LIR
620 label () () () () [hir:v247] <|@
622 gap () () () () [hir:v247] <|@
624 dummy-use = [rdx|R] [hir:v248] <|@
626 gap () () () () [hir:v248] <|@
628 dummy-use = [stack:0] [hir:v248] <|@
630 gap () () () () [hir:v248] <|@
632 dummy-use [rdx|R]= [stack:-2] [hir:v248] <|@
634 gap ((0) = [rdx|R];) () () () [hir:v248] <|@
636 gap () () () () [hir:v251] <|@
638 goto B43 [hir:v251] <|@
end_LIR
end_block
begin_block
name "B43"
from_bci -1
to_bci -1
predecessors "B42" "B38"
successors "B44"
xhandlers
flags
dominator "B36"
loop_depth 0
first_lir_id 640
last_lir_id 786
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v255 BlockEntry type:Tagged pos:578 <|@
0 0 t258 CheckHeapObject t205 pos:580 <|@
0 0 t259 CheckMaps t205 [0x3f3d14809069] pos:580 <|@
0 3 t260 LoadNamedField t205.%elements@16 type:Tagged pos:580 <|@
0 2 i261 LoadNamedField t205.%length@24 type:Smi pos:580 <|@
0 0 i262 BoundsCheck i318 i261 type:Tagged pos:580 <|@
0 1 i269 Constant 3 type:Smi pos:597 <|@
0 2 i278 Constant 4 type:Smi pos:609 <|@
0 0 i274 BoundsCheck i278 i261 type:Tagged pos:596 <|@
0 1 t263 LoadKeyed t260[i318] t205 type:Tagged pos:580 <|@
0 1 i480 Change t263 t to i truncating-int32 allow-undefined-as-nan type:TaggedNumber pos:580 <|@
0 9 i265 Sar i480 i319 type:TaggedNumber pos:584 <|@
0 0 v266 Simulate id=352 push i265 type:Tagged pos:584 <|@
0 3 t275 LoadKeyed t260[i269] t205 type:Tagged pos:596 <|@
0 1 t284 LoadKeyed t260[i278] t205 type:Tagged pos:608 <|@
0 0 t288 PushArguments t82 t275 t284 type:Tagged pos:619 <|@
0 2 t289 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:619 <|@
0 0 v290 Simulate id=413 pop 1 / var[9] = t5, var[8] = t275, var[7] = i265, push t289 type:Tagged pos:619 <|@
0 1 i294 Constant 100000 type:Smi [noOSE] pos:645 <|@
0 0 i295 BoundsCheck i265 i294 type:Tagged [noOSE] pos:645 <|@
0 1 i296 Constant 8 type:Smi [noOSE] pos:645 <|@
0 1 i297 Mul i265 i296 type:TaggedNumber [noOSE] pos:645 <|@
0 1 i298 Constant 16 type:Smi [noOSE] pos:645 <|@
0 1 i299 Add i297 i298 type:TaggedNumber [noOSE] pos:645 <|@
0 1 i300 Constant 48 type:Smi [noOSE] pos:645 <|@
0 30 t301 Allocate i300 (N) changes[NewSpacePromotion] [noOSE] pos:645 <|@
0 2 t302 LoadNamedField t1.[in-object]@40 type:Tagged [noOSE] pos:645 <|@
0 2 t303 LoadNamedField t302.[in-object]@32 type:Tagged [noOSE] pos:645 <|@
0 1 t304 LoadNamedField t303.[in-object]@88 type:Tagged [noOSE] pos:645 <|@
0 0 v305 StoreNamedField t301.%map@0 = t304 changes[Maps] type:Tagged [noOSE] pos:645 <|@
0 2 t306 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:645 <|@
0 0 v307 StoreNamedField t301.[in-object]@8 = t306 changes[InobjectFields] type:Tagged [noOSE] pos:645 <|@
0 0 v308 StoreNamedField t301.%elements@16 = t306 changes[ElementsPointer] type:Tagged [noOSE] pos:645 <|@
0 1 t482 Change i265 i to t pos:645 <|@
0 0 v309 StoreNamedField t301.%length@24 = t482 changes[ArrayLengths] type:Tagged [noOSE] pos:645 <|@
0 0 v310 StoreNamedField t301.[in-object]@32 = t275 (write-barrier) changes[InobjectFields] type:Tagged [noOSE] pos:645 <|@
0 0 v311 StoreNamedField t301.[in-object]@40 = t82 (write-barrier) changes[InobjectFields] type:Tagged [noOSE] pos:645 <|@
0 6 t312 Allocate i299 (N) changes[NewSpacePromotion] [noOSE] pos:645 <|@
0 1 t313 Constant 0x3f3d14804209 <Map(elements=0)> [stable-map] [map 0x3f3d14804159] [noOSE] pos:645 <|@
0 0 v314 StoreNamedField t312.%map@0 = t313 changes[Maps] type:Tagged [noOSE] pos:645 <|@
0 1 s481 Change i265 i to s type:Smi pos:645 <|@
0 0 v315 StoreNamedField t312.%length@8 = s481 changes[ArrayLengths] type:Tagged [noOSE] pos:645 <|@
0 0 v317 StoreNamedField t301.%elements@16 = t312 (write-barrier) changes[ElementsPointer] type:Tagged [noOSE] pos:645 <|@
0 0 v334 Goto B44 type:Tagged pos:645 <|@
end_HIR
begin_LIR
640 label () () () () [hir:v255] <|@
642 gap () () () () [hir:v255] <|@
644 check-non-smi = [rax|R] [id=313|deopt_id=15|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t258] <|@
646 gap () () () () [hir:t258] <|@
648 check-maps = [rax|R] [id=313|deopt_id=16|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t259] <|@
650 gap () () () () [hir:t259] <|@
652 load-named-field [rdx|R]= [rax|R] [hir:t260] <|@
654 gap ((0) = [rdx|R];) () () () [hir:t260] <|@
656 load-named-field [rcx|R]= [rax|R] [hir:i261] <|@
658 gap ((0) = [rcx|R];) () () () [hir:i261] <|@
660 bounds-check = [constant:318] [rcx|R] [id=313|deopt_id=17|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i262] <|@
662 gap () () () () [hir:i262] <|@
664 bounds-check = [constant:278] [rcx|R] [id=313|deopt_id=18|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i274] <|@
666 gap () () () () [hir:i274] <|@
668 load-keyed [rcx|R][rdx|R][[constant:318]] [hir:t263] <|@
670 gap ((0) = [rcx|R];) ([rcx|R];) () () [hir:t263] <|@
672 tagged-to-i [rcx|R]= [rcx|R] [id=313|deopt_id=34|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[rbx|R];[rax|R];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:i480] <|@
674 gap ((0) = [rcx|R];) ([rcx|R];) () () [hir:i480] <|@
676 shift-i [rcx|R]= [rcx|R] [constant:319] [hir:i265] <|@
678 gap ([stack:4] = [rcx|R];) () () () [hir:i265] <|@
680 load-keyed [rdi|R][rdx|R][[constant:269]] [hir:t275] <|@
682 gap ([stack:5] = [rdi|R];) () () () [hir:t275] <|@
684 load-keyed [rdx|R][rdx|R][[constant:278]] [hir:t284] <|@
686 gap ((0) = [rdx|R];) () () () [hir:t284] <|@
688 push-argument = [stack:1] [hir:t288] <|@
690 gap () () () () [hir:t288] <|@
692 push-argument = [rdi|R] [hir:t288] <|@
694 gap () () () () [hir:t288] <|@
696 push-argument = [rdx|R] [hir:t288] <|@
698 gap () ([rsi|R] = [stack:0];) () () [hir:t288] <|@
700 call-stub [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2];[stack:3];[stack:5]} [hir:t289] <|@
702 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t289] <|@
704 lazy-bailout = [id=413|deopt_id=19|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[stack:2];[stack:3];[stack:4];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:v290] <|@
706 gap () () ([rbx|R] = [stack:4];) () [hir:v290] <|@
708 bounds-check = [rbx|R] [constant:294] [id=413|deopt_id=20|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[constant:5];[stack:2];[stack:3];[rbx|R];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i295] <|@
710 gap () ([rdx|R] = [rbx|R];) () () [hir:i295] <|@
712 mul-i [rdx|R]= [rdx|R] [constant:296] [hir:i297] <|@
714 gap ((0) = [rdx|R];) ([rdx|R];) () () [hir:i297] <|@
716 add-i [rdx|R]= [rdx|R] [constant:298] [hir:i299] <|@
718 gap ((0) = [rdx|R];) () () () [hir:i299] <|@
720 allocate [rdi|R]= [stack:0] [constant:300] {[stack:0];[stack:1];[stack:2];[stack:3];[stack:5];[rax|R];[rdi|R]} [hir:t301] <|@
722 gap ([stack:6] = [rdi|R];) () ([rcx|R] = [stack:0];) () [hir:t301] <|@
724 load-named-field [rsi|R]= [rcx|R] [hir:t302] <|@
726 gap ((0) = [rsi|R];) () () () [hir:t302] <|@
728 load-named-field [rsi|R]= [rsi|R] [hir:t303] <|@
730 gap ((0) = [rsi|R];) () () () [hir:t303] <|@
732 load-named-field [rsi|R]= [rsi|R] [hir:t304] <|@
734 gap ((0) = [rsi|R];) () () () [hir:t304] <|@
736 store-named-field [rdi|R].%map@0 <- [rsi|R] [hir:v305] <|@
738 gap () () () () [hir:v305] <|@
740 store-named-field [rdi|R].[in-object]@8 <- [constant:306] [hir:v307] <|@
742 gap () () () () [hir:v307] <|@
744 store-named-field [rdi|R].%elements@16 <- [constant:306] [hir:v308] <|@
746 gap () () () () [hir:v308] <|@
748 smi-tag [rsi|R]= [rbx|R] [hir:t482] <|@
750 gap ((0) = [rsi|R];) () () () [hir:t482] <|@
752 store-named-field [rdi|R].%length@24 <- [rsi|R] [hir:v309] <|@
754 gap () ([rsi|R] = [stack:5];) () () [hir:v309] <|@
756 store-named-field [rdi|R].[in-object]@32 <- [rsi|R] [hir:v310] <|@
758 gap () ([rsi|R] = [stack:1];) () () [hir:v310] <|@
760 store-named-field [rdi|R].[in-object]@40 <- [rsi|R] [hir:v311] <|@
762 gap () ([rdx|R];) () () [hir:v311] <|@
764 allocate [r8|R]= [rcx|R] [rdx|R] {[stack:0];[rcx|R];[stack:1];[stack:2];[stack:3];[stack:5];[rax|R];[stack:6];[rdi|R];[r8|R]} [hir:t312] <|@
766 gap ((0) = [r8|R];) () () () [hir:t312] <|@
768 store-named-field [r8|R].%map@0 <- [constant:313] [hir:v314] <|@
770 gap () () () () [hir:v314] <|@
772 smi-tag [rdx|R]= [rbx|R] [hir:s481] <|@
774 gap ((0) = [rdx|R];) () () () [hir:s481] <|@
776 store-named-field [r8|R].%length@8 <- [rdx|R] [hir:v315] <|@
778 gap () ([rdx|R] = [r8|R];) () () [hir:v315] <|@
780 store-named-field [rdi|R].%elements@16 <- [rdx|R] [hir:v317] <|@
782 gap () () () () [hir:v317] <|@
784 gap () ([rdx|R] = [rbx|R];) () () [hir:v334] <|@
786 goto B44 [hir:v334] <|@
end_LIR
end_block
begin_block
name "B44"
from_bci -1
to_bci -1
predecessors "B43" "B45"
successors "B45" "B46"
xhandlers
flags "dom-loop-succ"
dominator "B43"
loop_depth 1
first_lir_id 788
last_lir_id 794
begin_states
begin_locals
size 1
method "None"
-1 i333 [ i265 i338 uses:2_0s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v335 BlockEntry type:Tagged pos:645 <|@
0 0 i336 CompareNumericAndBranch GT i333 i318 goto (B45, B46) type:Tagged pos:645 <|@
end_HIR
begin_LIR
788 label () ((0) = [rdx|R];) () () [hir:v335] <|@
790 gap () () () () [hir:v335] <|@
792 gap () () () () [hir:i336] <|@
794 compare-numeric-and-branch if [rdx|R] > [constant:318] then B45 else B46 [hir:i336] <|@
end_LIR
end_block
begin_block
name "B45"
from_bci -1
to_bci -1
predecessors "B44"
successors "B44"
xhandlers
flags "dom-loop-succ"
dominator "B44"
loop_depth 1
first_lir_id 796
last_lir_id 810
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v337 BlockEntry type:Tagged pos:645 <|@
0 2 i338 Sub i333 i319 type:TaggedNumber [noOSE] pos:645 <|@
0 0 v339 StoreKeyed t312[i338] = t5 changes[ArrayElements] type:Tagged [noOSE] pos:645 <|@
0 0 v341 Goto B44 type:Tagged pos:645 <|@
end_HIR
begin_LIR
796 label () () () () [hir:v337] <|@
798 gap () ([rdx|R];) () () [hir:v337] <|@
800 sub-i [rdx|R]= [rdx|R] [constant:319] [hir:i338] <|@
802 gap ((0) = [rdx|R];) () () () [hir:i338] <|@
804 store-keyed [r8|R][[rdx|R]] <- [constant:5] [hir:v339] <|@
806 gap () () () () [hir:v339] <|@
808 gap () ([rdx|R];) () () [hir:v341] <|@
810 goto B44 [hir:v341] <|@
end_LIR
end_block
begin_block
name "B46"
from_bci -1
to_bci -1
predecessors "B44"
successors "B59" "B47"
xhandlers
flags
dominator "B44"
loop_depth 0
first_lir_id 812
last_lir_id 854
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v342 BlockEntry type:Tagged pos:644 <|@
0 0 t347 CheckMaps t301 [0x3f3d1480ada1] pos:681 <|@
0 2 t348 Constant 0x315a307759b1 <JS Array[0]> [map 0x3f3d148071d1] pos:681 <|@
0 0 t349 CheckMaps t348 [0x3f3d148071d1](stability-check) pos:681 <|@
0 2 t350 Constant 0x315a30774579 <an Object with map 0x3f3d14806679> [map 0x3f3d14806679] pos:681 <|@
0 0 t351 CheckMaps t350 [0x3f3d14806679](stability-check) pos:681 <|@
0 3 t352 LoadNamedField t301.%elements@16 type:Tagged pos:681 <|@
0 0 t353 CheckMaps t352 [0x3f3d14804209] pos:681 <|@
0 1 i354 LoadNamedField t301.%length@24 type:Smi pos:681 <|@
0 0 i355 BoundsCheck i318 i354 type:Tagged pos:681 <|@
0 0 v357 StoreKeyed t352[i318] = t289 changes[ArrayElements] type:Tagged pos:681 <|@
0 0 v358 Simulate id=440 pop 1 / var[11] = t301, var[10] = t5 type:Tagged pos:681 <|@
0 0 i361 CompareNumericAndBranch EQ i265 i319 goto (B59, B47) type:Tagged pos:689 <|@
end_HIR
begin_LIR
812 label () () () () [hir:v342] <|@
814 gap () () () () [hir:v342] <|@
816 check-maps = [rdi|R] [id=413|deopt_id=21|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[constant:5];[stack:2];[stack:3];[rbx|R];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t347] <|@
818 gap () () () () [hir:t347] <|@
820 check-maps = NULL [hir:t349] <|@
822 gap () () () () [hir:t349] <|@
824 check-maps = NULL [hir:t351] <|@
826 gap () () () () [hir:t351] <|@
828 load-named-field [rdx|R]= [rdi|R] [hir:t352] <|@
830 gap ((0) = [rdx|R];) () () () [hir:t352] <|@
832 check-maps = [rdx|R] [id=413|deopt_id=22|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[constant:5];[stack:2];[stack:3];[rbx|R];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:t353] <|@
834 gap () () () () [hir:t353] <|@
836 load-named-field [rsi|R]= [rdi|R] [hir:i354] <|@
838 gap ((0) = [rsi|R];) () () () [hir:i354] <|@
840 bounds-check = [constant:318] [rsi|R] [id=413|deopt_id=23|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[constant:5];[stack:2];[stack:3];[rbx|R];[stack:5];[constant:5];[constant:5];[constant:5];[constant:5];[rax|R]] [hir:i355] <|@
842 gap () () () () [hir:i355] <|@
844 constant-i [rsi|R]= [hir:i318] <|@
846 gap ((0) = [rsi|R];) ([rdx|R]; [rsi|R]; [rax|R];) () () [hir:i318] <|@
848 store-keyed [rdx|R][[rsi|R]] <- [rax|R] [hir:v357] <|@
850 gap () () () () [hir:v357] <|@
852 gap () () () () [hir:i361] <|@
854 compare-numeric-and-branch if [rbx|R] == [constant:319] then B59 else B47 [hir:i361] <|@
end_LIR
end_block
begin_block
name "B47"
from_bci -1
to_bci -1
predecessors "B46"
successors "B48"
xhandlers
flags
dominator "B46"
loop_depth 0
first_lir_id 856
last_lir_id 862
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v365 BlockEntry type:Tagged pos:689 <|@
0 0 v366 Simulate id=457 type:Tagged pos:689 <|@
0 0 v367 Goto B48 type:Tagged pos:689 <|@
end_HIR
begin_LIR
856 label () () () () Dead block replaced with B48 [hir:v365] <|@
858 gap () () () () [hir:v365] <|@
860 gap () () () () [hir:v367] <|@
862 goto B48 [hir:v367] <|@
end_LIR
end_block
begin_block
name "B48"
from_bci -1
to_bci -1
predecessors "B47"
successors "B49"
xhandlers
flags
dominator "B47"
loop_depth 0
first_lir_id 864
last_lir_id 870
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v372 BlockEntry type:Tagged pos:710 <|@
0 2 i373 Constant 5 type:Smi pos:710 <|@
0 0 v390 Simulate id=480 var[12] = i373, var[4] = i319 type:Tagged pos:714 <|@
0 1 i418 Constant -1 type:Smi pos:752 <|@
0 0 v391 Goto B49 type:Tagged pos:714 <|@
end_HIR
begin_LIR
864 label () () () () [hir:v372] <|@
866 gap () () () () [hir:v372] <|@
868 gap () ([rdx|R] = [constant:319]; [rax|R] = [constant:373]; [r8|R] = [stack:3];) () () [hir:v391] <|@
870 goto B49 [hir:v391] <|@
end_LIR
end_block
begin_block
name "B49"
from_bci -1
to_bci -1
predecessors "B48" "B56"
successors "B50" "B57"
xhandlers
flags "dom-loop-succ"
dominator "B48"
loop_depth 1
first_lir_id 872
last_lir_id 878
begin_states
begin_locals
size 2
method "None"
4 i381 [ i319 i467 uses:5_2s_0i_0d_0t type:TaggedNumber]
12 i389 [ i373 i464 uses:4_1s_0i_0d_0t type:TaggedNumber]
end_locals
end_states
begin_HIR
0 0 v392 BlockEntry type:Tagged pos:726 <|@
0 0 i395 CompareNumericAndBranch LT i381 i265 goto (B50, B57) type:Tagged pos:727 <|@
end_HIR
begin_LIR
872 label () ([stack:7] = [rdx|R]; (0) = [rax|R];) () () [hir:v392] <|@
874 gap () () () () [hir:v392] <|@
876 gap () () () () [hir:i395] <|@
878 compare-numeric-and-branch if [rdx|R] < [rbx|R] then B50 else B57 [hir:i395] <|@
end_LIR
end_block
begin_block
name "B50"
from_bci -1
to_bci -1
predecessors "B49"
successors "B51"
xhandlers
flags "dom-loop-succ"
dominator "B49"
loop_depth 1
first_lir_id 880
last_lir_id 886
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v396 BlockEntry type:Tagged pos:727 <|@
0 0 v397 Simulate id=484 type:Tagged pos:727 <|@
0 0 v398 Goto B51 type:Tagged pos:727 <|@
end_HIR
begin_LIR
880 label () () () () Dead block replaced with B51 [hir:v396] <|@
882 gap () () () () [hir:v396] <|@
884 gap () () () () [hir:v398] <|@
886 goto B51 [hir:v398] <|@
end_LIR
end_block
begin_block
name "B51"
from_bci -1
to_bci -1
predecessors "B50"
successors "B54" "B52"
xhandlers
flags "dom-loop-succ"
dominator "B50"
loop_depth 1
first_lir_id 888
last_lir_id 926
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v402 BlockEntry type:Tagged pos:714 <|@
0 0 v403 Simulate id=484 type:Tagged pos:714 <|@
0 0 v404 StackCheck t1 changes[NewSpacePromotion] type:Tagged pos:714 <|@
0 4 i408 Add i389 i319 ! type:TaggedNumber pos:741 <|@
0 0 t411 CheckMaps t205 [0x3f3d14809069] pos:739 <|@
0 2 t412 LoadNamedField t205.%elements@16 type:Tagged pos:739 <|@
0 2 i413 LoadNamedField t205.%length@24 type:Smi pos:739 <|@
0 0 i414 BoundsCheck i389 i413 type:Tagged pos:739 <|@
0 3 t415 LoadKeyed t412[i389] t205 type:Tagged pos:739 <|@
0 1 i483 Change t415 t to i type:TaggedNumber pos:749 <|@
0 0 i419 CompareNumericAndBranch EQ i483 i418 goto (B54, B52) type:Tagged pos:750 <|@
end_HIR
begin_LIR
888 label () () () () [hir:v402] <|@
890 gap () () () () [hir:v402] <|@
892 stack-check = [rcx|R] [id=484|deopt_id=24|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R];[rax|R]] {[stack:0];[rcx|R];[stack:1];[stack:2];[stack:3];[r8|R];[stack:6];[rdi|R]} [hir:v404] <|@
894 gap () ([r9|R] = [rax|R];) () () [hir:v404] <|@
896 add-i [r9|R]= [r9|R] [constant:319] [id=484|deopt_id=25|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R];[rax|R]] [hir:i408] <|@
898 gap ([stack:8] = [r9|R];) () () () [hir:i408] <|@
900 check-maps = [r8|R] [id=484|deopt_id=26|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R];[rax|R]] [hir:t411] <|@
902 gap () () () () [hir:t411] <|@
904 load-named-field [rsi|R]= [r8|R] [hir:t412] <|@
906 gap ((0) = [rsi|R];) () () () [hir:t412] <|@
908 load-named-field [r11|R]= [r8|R] [hir:i413] <|@
910 gap ((0) = [r11|R];) () () () [hir:i413] <|@
912 bounds-check = [rax|R] [r11|R] [id=484|deopt_id=27|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R];[rax|R]] [hir:i414] <|@
914 gap () () () () [hir:i414] <|@
916 load-keyed [r12|R][rsi|R][[rax|R]] [hir:t415] <|@
918 gap ((0) = [r12|R];) ([r14|R] = [r12|R];) () () [hir:t415] <|@
920 tagged-to-i [r14|R]= [r14|R] [id=484|deopt_id=35|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[constant:5];[constant:5];[constant:5];[rdi|R];[rax|R]] [hir:i483] <|@
922 gap ((0) = [r14|R];) () () () [hir:i483] <|@
924 gap () () () () [hir:i419] <|@
926 compare-numeric-and-branch if [r14|R] == [constant:418] then B54 else B52 [hir:i419] <|@
end_LIR
end_block
begin_block
name "B52"
from_bci -1
to_bci -1
predecessors "B51"
successors "B53"
xhandlers
flags
dominator "B51"
loop_depth 1
first_lir_id 928
last_lir_id 934
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v423 BlockEntry type:Tagged pos:750 <|@
0 0 v424 Simulate id=536 var[12] = i408, var[8] = t415 type:Tagged pos:750 <|@
0 0 v425 Goto B53 type:Tagged pos:750 <|@
end_HIR
begin_LIR
928 label () () () () Dead block replaced with B53 [hir:v423] <|@
930 gap () () () () [hir:v423] <|@
932 gap () () () () [hir:v425] <|@
934 goto B53 [hir:v425] <|@
end_LIR
end_block
begin_block
name "B53"
from_bci -1
to_bci -1
predecessors "B52"
successors "B56"
xhandlers
flags
dominator "B52"
loop_depth 1
first_lir_id 936
last_lir_id 994
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v426 BlockEntry type:Tagged pos:759 <|@
0 0 i433 BoundsCheck i408 i413 type:Tagged pos:760 <|@
0 1 t434 LoadKeyed t412[i389 + 23] t205 type:Tagged pos:760 <|@
0 0 t440 PushArguments t82 t415 t434 type:Tagged pos:770 <|@
0 2 t441 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:770 <|@
0 0 v442 Simulate id=579 var[8] = t5, var[9] = t5, push t301, push i381, push t441 type:Tagged pos:770 <|@
0 0 t444 CheckMaps t301 [0x3f3d1480ada1](stability-check) pos:769 <|@
0 3 t449 LoadNamedField t301.%elements@16 type:Tagged pos:769 <|@
0 0 t450 CheckMaps t449 [0x3f3d14804209] pos:769 <|@
0 1 i451 LoadNamedField t301.%length@24 type:Smi pos:769 <|@
0 0 i452 BoundsCheck i381 i451 type:Tagged pos:769 <|@
0 0 v454 StoreKeyed t449[i381] = t441 changes[ArrayElements] type:Tagged pos:769 <|@
0 0 v455 Simulate id=567 pop 3 type:Tagged pos:769 <|@
0 0 v456 Simulate id=535 type:Tagged pos:746 <|@
0 0 v457 Goto B56 type:Tagged pos:746 <|@
end_HIR
begin_LIR
936 label () () () () [hir:v426] <|@
938 gap () () () () [hir:v426] <|@
940 bounds-check = [r9|R] [r11|R] [id=536|deopt_id=28|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[rcx|R];[constant:5];[rdx|R];[stack:2];[r8|R];[rbx|R];[r12|R];[constant:5];[constant:5];[rdi|R];[r9|R]] [hir:i433] <|@
942 gap () () () () [hir:i433] <|@
944 load-keyed [rax|R][rsi|R][[rax|R] + 23] [hir:t434] <|@
946 gap ((0) = [rax|R];) () () () [hir:t434] <|@
948 push-argument = [stack:1] [hir:t440] <|@
950 gap () () () () [hir:t440] <|@
952 push-argument = [r12|R] [hir:t440] <|@
954 gap () () () () [hir:t440] <|@
956 push-argument = [rax|R] [hir:t440] <|@
958 gap () ([rsi|R] = [rcx|R];) () () [hir:t440] <|@
960 call-stub [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2];[stack:3];[stack:6]} [hir:t441] <|@
962 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t441] <|@
964 lazy-bailout = [id=579|deopt_id=29|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[stack:7];[stack:2];[stack:3];[stack:4];[constant:5];[constant:5];[constant:5];[stack:6];[stack:8];[stack:6];[stack:7];[rax|R]] [hir:v442] <|@
966 gap () () () () [hir:v442] <|@
968 check-maps = NULL [hir:t444] <|@
970 gap () () ([rbx|R] = [stack:6];) () [hir:t444] <|@
972 load-named-field [rdx|R]= [rbx|R] [hir:t449] <|@
974 gap ((0) = [rdx|R];) () () () [hir:t449] <|@
976 check-maps = [rdx|R] [id=579|deopt_id=30|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[stack:7];[stack:2];[stack:3];[stack:4];[constant:5];[constant:5];[constant:5];[rbx|R];[stack:8];[rbx|R];[stack:7];[rax|R]] [hir:t450] <|@
978 gap () () () () [hir:t450] <|@
980 load-named-field [rcx|R]= [rbx|R] [hir:i451] <|@
982 gap ((0) = [rcx|R];) () ([rsi|R] = [stack:7];) () [hir:i451] <|@
984 bounds-check = [rsi|R] [rcx|R] [id=579|deopt_id=31|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[rsi|R];[stack:2];[stack:3];[stack:4];[constant:5];[constant:5];[constant:5];[rbx|R];[stack:8];[rbx|R];[rsi|R];[rax|R]] [hir:i452] <|@
986 gap () ([rcx|R] = [rdx|R]; [rdx|R] = [rsi|R]; [rax|R];) () () [hir:i452] <|@
988 store-keyed [rcx|R][[rdx|R]] <- [rax|R] [hir:v454] <|@
990 gap () () () () [hir:v454] <|@
992 gap () () () () [hir:v457] <|@
994 goto B56 [hir:v457] <|@
end_LIR
end_block
begin_block
name "B54"
from_bci -1
to_bci -1
predecessors "B51"
successors "B55"
xhandlers
flags
dominator "B51"
loop_depth 1
first_lir_id 996
last_lir_id 1002
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v420 BlockEntry type:Tagged pos:750 <|@
0 0 v421 Simulate id=537 var[12] = i408, var[8] = t5 type:Tagged pos:750 <|@
0 0 v422 Goto B55 type:Tagged pos:750 <|@
end_HIR
begin_LIR
996 label () ([rbx|R] = [rdi|R]; [rsi|R] = [rdx|R];) () () [hir:v420] <|@
998 gap () () () () [hir:v420] <|@
1000 gap () () () () [hir:v422] <|@
1002 goto B55 [hir:v422] <|@
end_LIR
end_block
begin_block
name "B55"
from_bci -1
to_bci -1
predecessors "B54"
successors "B56"
xhandlers
flags
dominator "B54"
loop_depth 1
first_lir_id 1004
last_lir_id 1010
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v458 BlockEntry type:Tagged pos:746 <|@
0 0 v459 Simulate id=535 type:Tagged pos:746 <|@
0 0 v460 Goto B56 type:Tagged pos:746 <|@
end_HIR
begin_LIR
1004 label () () () () Dead block replaced with B56 [hir:v458] <|@
1006 gap () () () () [hir:v458] <|@
1008 gap () () () () [hir:v460] <|@
1010 goto B56 [hir:v460] <|@
end_LIR
end_block
begin_block
name "B56"
from_bci -1
to_bci -1
predecessors "B53" "B55"
successors "B49"
xhandlers
flags "dom-loop-succ"
dominator "B51"
loop_depth 1
first_lir_id 1012
last_lir_id 1026
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v462 BlockEntry type:Tagged pos:792 <|@
0 2 i464 Add i408 i319 ! type:TaggedNumber pos:793 <|@
0 2 i467 Add i381 i319 type:TaggedNumber pos:731 <|@
0 0 v469 Simulate id=480 var[12] = i464, var[4] = i467 type:Tagged pos:714 <|@
0 0 v470 Goto B49 type:Tagged pos:714 <|@
end_HIR
begin_LIR
1012 label () () () () [hir:v462] <|@
1014 gap () ([rax|R] = [stack:8];) () () [hir:v462] <|@
1016 add-i [rax|R]= [rax|R] [constant:319] [id=535|deopt_id=32|parameters=2|arguments_stack_height=0|[stack:-2];[stack:1];[stack:0];[constant:5];[rsi|R];[stack:2];[stack:3];[stack:4];[constant:5];[constant:5];[constant:5];[rbx|R];[stack:8]] [hir:i464] <|@
1018 gap ((0) = [rax|R];) () () () [hir:i464] <|@
1020 add-i [rdx|R]= [rsi|R] [constant:319] [hir:i467] <|@
1022 gap ((0) = [rdx|R];) () () () [hir:i467] <|@
1024 gap () ([rdx|R]; [rax|R]; [rcx|R] = [stack:0]; [r8|R] = [stack:3]; [rbx|R] = [stack:4]; [rdi|R] = [rbx|R];) () () [hir:v470] <|@
1026 goto B49 [hir:v470] <|@
end_LIR
end_block
begin_block
name "B57"
from_bci -1
to_bci -1
predecessors "B49"
successors "B58"
xhandlers
flags
dominator "B49"
loop_depth 0
first_lir_id 1028
last_lir_id 1034
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v399 BlockEntry type:Tagged pos:727 <|@
0 0 v400 Simulate id=481 var[12] = t5, var[7] = t5, var[6] = t5, var[4] = t5 type:Tagged pos:727 <|@
0 0 v401 Goto B58 type:Tagged pos:727 <|@
end_HIR
begin_LIR
1028 label () ([rbx|R] = [rdi|R];) () () [hir:v399] <|@
1030 gap () () () () [hir:v399] <|@
1032 gap () () () () [hir:v401] <|@
1034 goto B58 [hir:v401] <|@
end_LIR
end_block
begin_block
name "B58"
from_bci -1
to_bci -1
predecessors "B57"
successors
xhandlers
flags
dominator "B57"
loop_depth 0
first_lir_id 1036
last_lir_id 1042
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v471 BlockEntry type:Tagged pos:806 <|@
0 1 s484 Constant 1 type:Smi pos:799 <|@
0 0 v474 Return t301 (pop s484 values) type:Tagged pos:799 <|@
end_HIR
begin_LIR
1036 label () () () () [hir:v471] <|@
1038 gap () ([rax|R] = [rbx|R];) () () [hir:v471] <|@
1040 return = [rax|R] NULL [constant:484] [hir:v474] <|@
1042 gap () () () () [hir:v474] <|@
end_LIR
end_block
begin_block
name "B59"
from_bci -1
to_bci -1
predecessors "B46"
successors "B60"
xhandlers
flags
dominator "B46"
loop_depth 0
first_lir_id 1044
last_lir_id 1050
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v362 BlockEntry type:Tagged pos:689 <|@
0 0 v363 Simulate id=456 var[7] = t5, var[6] = t5 type:Tagged pos:689 <|@
0 0 v364 Goto B60 type:Tagged pos:689 <|@
end_HIR
begin_LIR
1044 label () ([rbx|R] = [rdi|R];) () () [hir:v362] <|@
1046 gap () () () () [hir:v362] <|@
1048 gap () () () () [hir:v364] <|@
1050 goto B60 [hir:v364] <|@
end_LIR
end_block
begin_block
name "B60"
from_bci -1
to_bci -1
predecessors "B59"
successors
xhandlers
flags
dominator "B59"
loop_depth 0
first_lir_id 1052
last_lir_id 1058
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v368 BlockEntry type:Tagged pos:700 <|@
0 1 s485 Constant 1 type:Smi pos:693 <|@
0 0 v371 Return t301 (pop s485 values) type:Tagged pos:693 <|@
end_HIR
begin_LIR
1052 label () () () () [hir:v368] <|@
1054 gap () ([rax|R] = [rbx|R];) () () [hir:v368] <|@
1056 return = [rax|R] NULL [constant:485] [hir:v371] <|@
1058 gap () () () () [hir:v371] <|@
end_LIR
end_block
begin_block
name "B61"
from_bci -1
to_bci -1
predecessors "B34"
successors "B62"
xhandlers
flags
dominator "B34"
loop_depth 0
first_lir_id 1060
last_lir_id 1066
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v211 BlockEntry type:Tagged pos:442 <|@
0 0 v212 Simulate id=272 pop 1 / var[5] = t5, var[6] = t5 type:Tagged pos:442 <|@
0 0 v213 Goto B62 type:Tagged pos:442 <|@
end_HIR
begin_LIR
1060 label () () () () Dead block replaced with B62 [hir:v211] <|@
1062 gap () () () () [hir:v211] <|@
1064 gap () () () () [hir:v213] <|@
1066 goto B62 [hir:v213] <|@
end_LIR
end_block
begin_block
name "B62"
from_bci -1
to_bci -1
predecessors "B61"
successors
xhandlers
flags
dominator "B61"
loop_depth 0
first_lir_id 1068
last_lir_id 1090
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v217 BlockEntry type:Tagged pos:468 <|@
0 0 t220 CheckMaps t2 [0x3f3d14807649] pos:467 <|@
0 1 t486 Constant 0 pos:467 <|@
0 0 v221 StoreNamedField t2.lastIndex[in-object]@56 = t486 (write-barrier) changes[InobjectFields] type:Tagged pos:467 <|@
0 0 v222 Simulate id=285 type:Tagged pos:467 <|@
0 1 s487 Constant 1 type:Smi pos:471 <|@
0 0 v225 Return t209 (pop s487 values) type:Tagged pos:471 <|@
end_HIR
begin_LIR
1068 label () () () () [hir:v217] <|@
1070 gap () () ([rax|R] = [stack:-2];) () [hir:v217] <|@
1072 check-maps = [rax|R] [id=272|deopt_id=33|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:t220] <|@
1074 gap () () () () [hir:t220] <|@
1076 constant-t [rbx|R]= [hir:t486] <|@
1078 gap ((0) = [rbx|R];) ([rbx|R];) () () [hir:t486] <|@
1080 store-named-field [rax|R].lastIndex[in-object]@56 <- [rbx|R] [hir:v221] <|@
1082 gap () () () () [hir:v221] <|@
1084 constant-t [rax|R]= [hir:t209] <|@
1086 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t209] <|@
1088 return = [rax|R] NULL [constant:487] [hir:v225] <|@
1090 gap () () () () [hir:v225] <|@
end_LIR
end_block
begin_block
name "B63"
from_bci -1
to_bci -1
predecessors "B31"
successors "B65"
xhandlers
flags "dead"
dominator "B31"
loop_depth 0
first_lir_id 1092
last_lir_id 1098
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v177 BlockEntry type:Tagged pos:327 <|@
0 0 v178 Simulate id=189 pop 1 / var[5] = t5, var[4] = t5 type:Tagged pos:327 <|@
0 0 v179 Goto B65 type:Tagged pos:327 <|@
end_HIR
begin_LIR
1092 label () () () () Dead block replaced with B65 [hir:v177] <|@
1094 gap () () () () [hir:v177] <|@
1096 gap () () () () [hir:v179] <|@
1098 goto B65 [hir:v179] <|@
end_LIR
end_block
begin_block
name "B64"
from_bci -1
to_bci -1
predecessors "B27"
successors "B65"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 1100
last_lir_id 1106
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v160 BlockEntry type:Tagged pos:322 <|@
0 0 v161 Simulate id=189 pop 1 / var[5] = t5, var[4] = t5 type:Tagged pos:322 <|@
0 0 v162 Goto B65 type:Tagged pos:322 <|@
end_HIR
begin_LIR
1100 label () () () () Dead block replaced with B65 [hir:v160] <|@
1102 gap () () () () [hir:v160] <|@
1104 gap () () () () [hir:v162] <|@
1106 goto B65 [hir:v162] <|@
end_LIR
end_block
begin_block
name "B65"
from_bci -1
to_bci -1
predecessors "B64" "B63"
successors "B66"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 1108
last_lir_id 1114
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v183 BlockEntry type:Tagged pos:354 <|@
0 0 v185 Deoptimize goto (B66) type:Tagged pos:353 <|@
end_HIR
begin_LIR
1108 label () () () () [hir:v183] <|@
1110 gap () () () () [hir:v183] <|@
1112 gap () () () () [hir:v185] <|@
1114 deoptimize = [id=189|parameters=2|arguments_stack_height=0|[rax|R];[stack:1];[stack:0];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5];[constant:5]] [hir:v185] <|@
end_LIR
end_block
begin_block
name "B66"
from_bci -1
to_bci -1
predecessors "B65"
successors
xhandlers
flags "dead"
dominator "B65"
loop_depth 0
first_lir_id 1116
last_lir_id 1138
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v186 BlockEntry type:Tagged pos:353 <|@
0 0 v187 StoreNamedGeneric t2.lastIndex = t478 changes[*] type:Tagged pos:353 <|@
0 0 v188 Simulate id=220 type:Tagged pos:353 <|@
0 1 s489 Constant 1 type:Smi pos:357 <|@
0 0 v191 Return t209 (pop s489 values) type:Tagged pos:357 <|@
end_HIR
begin_LIR
1116 label () () () () [hir:v186] <|@
1118 gap () () () () [hir:v186] <|@
1120 dummy-use = [constant:478] [hir:v187] <|@
1122 gap () () () () [hir:v187] <|@
1124 dummy-use = [stack:0] [hir:v187] <|@
1126 gap () () () () [hir:v187] <|@
1128 dummy-use [rbx|R]= [rax|R] [hir:v187] <|@
1130 gap ((0) = [rbx|R];) () () () [hir:v187] <|@
1132 constant-t [rax|R]= [hir:t209] <|@
1134 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t209] <|@
1136 return = [rax|R] NULL [constant:489] [hir:v191] <|@
1138 gap () () () () [hir:v191] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "toLowerCase"
method "toLowerCase:7"
date 1432461308000
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 1 t11 Constant 0x315a30704101 <null> [map 0x3f3d148041b1] <|@
0 1 t4 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 6 t1 Context type:Tagged <|@
0 10 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 "B7" "B2"
xhandlers
flags
dominator "B0"
loop_depth 0
first_lir_id 16
last_lir_id 30
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 v12 CompareObjectEqAndBranch t2 t11 goto (B7, B2) type:Tagged pos:12 <|@
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 gap () () ([rax|R] = [stack:-1];) () [hir:v12] <|@
30 cmp-object-eq-and-branch = [rax|R] [constant:11] [hir:v12] <|@
end_LIR
end_block
begin_block
name "B2"
from_bci -1
to_bci -1
predecessors "B1"
successors "B6" "B3"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 32
last_lir_id 38
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v17 BlockEntry type:Tagged pos:12 <|@
0 0 v18 CompareObjectEqAndBranch t2 t4 goto (B6, B3) type:Tagged pos:12 <|@
end_HIR
begin_LIR
32 label () () () () [hir:v17] <|@
34 gap () () () () [hir:v17] <|@
36 gap () () () () [hir:v18] <|@
38 cmp-object-eq-and-branch = [rax|R] [constant:4] [hir:v18] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B2"
successors "B5" "B4"
xhandlers
flags
dominator "B2"
loop_depth 0
first_lir_id 40
last_lir_id 46
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v21 BlockEntry type:Tagged pos:12 <|@
0 0 v22 IsUndetectableAndBranch t2 goto (B5, B4) type:Tagged pos:12 <|@
end_HIR
begin_LIR
40 label () () () () [hir:v21] <|@
42 gap () () () () [hir:v21] <|@
44 gap () () () () [hir:v22] <|@
46 is-undetectable-and-branch if is_undetectable([rax|R]) then B5 else B4 [hir:v22] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B3"
successors "B13"
xhandlers
flags
dominator "B3"
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 v26 BlockEntry type:Tagged pos:12 <|@
0 0 v27 Simulate id=6 type:Tagged pos:12 <|@
0 0 v28 Goto B13 type:Tagged pos:12 <|@
end_HIR
begin_LIR
48 label () () () () Dead block replaced with B13 [hir:v26] <|@
50 gap () () () () [hir:v26] <|@
52 gap () () () () [hir:v28] <|@
54 goto B13 [hir:v28] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B3"
successors "B8"
xhandlers
flags
dominator "B3"
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 v19 BlockEntry type:Tagged pos:12 <|@
0 0 v20 Goto B8 type:Tagged pos:12 <|@
end_HIR
begin_LIR
56 label () () () () Dead block replaced with B8 [hir:v19] <|@
58 gap () () () () [hir:v19] <|@
60 gap () () () () [hir:v20] <|@
62 goto B8 [hir:v20] <|@
end_LIR
end_block
begin_block
name "B6"
from_bci -1
to_bci -1
predecessors "B2"
successors "B8"
xhandlers
flags
dominator "B2"
loop_depth 0
first_lir_id 64
last_lir_id 70
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v15 BlockEntry type:Tagged pos:12 <|@
0 0 v16 Goto B8 type:Tagged pos:12 <|@
end_HIR
begin_LIR
64 label () () () () Dead block replaced with B8 [hir:v15] <|@
66 gap () () () () [hir:v15] <|@
68 gap () () () () [hir:v16] <|@
70 goto B8 [hir:v16] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B1"
successors "B8"
xhandlers
flags
dominator "B1"
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 v13 BlockEntry type:Tagged pos:12 <|@
0 0 v14 Goto B8 type:Tagged pos:12 <|@
end_HIR
begin_LIR
72 label () () () () Dead block replaced with B8 [hir:v13] <|@
74 gap () () () () [hir:v13] <|@
76 gap () () () () [hir:v14] <|@
78 goto B8 [hir:v14] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B7" "B6" "B5"
successors "B9"
xhandlers
flags
dominator "B1"
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 v23 BlockEntry type:Tagged pos:12 <|@
0 0 v24 Simulate id=9 type:Tagged pos:12 <|@
0 0 v25 Goto B9 type:Tagged pos:12 <|@
end_HIR
begin_LIR
80 label () () () () Dead block replaced with B9 [hir:v23] <|@
82 gap () () () () [hir:v23] <|@
84 gap () () () () [hir:v25] <|@
86 goto B9 [hir:v25] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B12" "B10"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 88
last_lir_id 94
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v29 BlockEntry type:Tagged pos:23 <|@
0 0 v30 IsUndetectableAndBranch t2 goto (B12, B10) type:Tagged pos:23 <|@
end_HIR
begin_LIR
88 label () () () () [hir:v29] <|@
90 gap () () () () [hir:v29] <|@
92 gap () () () () [hir:v30] <|@
94 is-undetectable-and-branch if is_undetectable([rax|R]) then B12 else B10 [hir:v30] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9"
successors "B11"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 96
last_lir_id 102
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v34 BlockEntry type:Tagged pos:23 <|@
0 0 v35 Simulate id=5 type:Tagged pos:23 <|@
0 0 v36 Goto B11 type:Tagged pos:23 <|@
end_HIR
begin_LIR
96 label () () () () Dead block replaced with B11 [hir:v34] <|@
98 gap () () () () [hir:v34] <|@
100 gap () () () () [hir:v36] <|@
102 goto B11 [hir:v36] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B10"
successors
xhandlers
flags
dominator "B10"
loop_depth 0
first_lir_id 104
last_lir_id 170
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v37 BlockEntry type:Tagged pos:59 <|@
0 1 t38 Constant 0x315a30797b41 <JS Function MakeTypeError (SharedFunctionInfo 0x315a3074de69)> pos:59 <|@
0 1 t39 Constant 0x171db9924999 <String[27]: called_on_null_or_undefined> [map 0x3f3d14804261] pos:73 <|@
0 1 i40 Constant 32 type:Smi [noOSE] pos:103 <|@
0 11 t41 Allocate i40 (N) changes[NewSpacePromotion] [noOSE] pos:103 <|@
0 2 t42 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:103 <|@
0 0 v43 StoreNamedField t41.%elements@16 = t42 changes[ElementsPointer] type:Tagged [noOSE] pos:103 <|@
0 1 t44 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:103 <|@
0 0 v45 StoreNamedField t41.%map@0 = t44 changes[Maps] type:Tagged [noOSE] pos:103 <|@
0 0 v47 StoreNamedField t41.[in-object]@8 = t42 changes[InobjectFields] type:Tagged [noOSE] pos:103 <|@
0 1 s92 Constant 1 type:Smi pos:103 <|@
0 0 v49 StoreNamedField t41.%length@24 = s92 changes[ArrayLengths] type:Tagged [noOSE] pos:103 <|@
0 1 t50 Constant 0x1b02261f3279 <FixedArray[1]> [map 0x3f3d148047e1] [new space] [noOSE] pos:103 <|@
0 0 v51 StoreNamedField t41.%elements@16 = t50 changes[ElementsPointer] type:Tagged [noOSE] pos:103 <|@
0 1 t54 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:59 <|@
0 0 t55 PushArguments t54 t39 t41 type:Tagged pos:59 <|@
0 2 t57 CallJSFunction t38 #3 changes[*] type:Tagged pos:59 <|@
0 0 v58 Simulate id=30 push t57 type:Tagged pos:59 <|@
0 0 t59 PushArguments t57 type:Tagged pos:53 <|@
0 0 t60 CallRuntime #1 changes[*] type:Tagged pos:53 <|@
0 0 v61 Simulate id=28 pop 1 type:Tagged pos:53 <|@
0 0 v62 AbnormalExit goto () type:Tagged pos:53 <|@
end_HIR
begin_LIR
104 label () () () () [hir:v37] <|@
106 gap () () () () [hir:v37] <|@
108 allocate [rdx|R]= [stack:0] [constant:40] {[stack:0];[rax|R];[rdx|R]} [hir:t41] <|@
110 gap ((0) = [rdx|R];) () () () [hir:t41] <|@
112 store-named-field [rdx|R].%elements@16 <- [constant:42] [hir:v43] <|@
114 gap () () () () [hir:v43] <|@
116 store-named-field [rdx|R].%map@0 <- [constant:44] [hir:v45] <|@
118 gap () () () () [hir:v45] <|@
120 store-named-field [rdx|R].[in-object]@8 <- [constant:42] [hir:v47] <|@
122 gap () () () () [hir:v47] <|@
124 store-named-field [rdx|R].%length@24 <- [constant:92] [hir:v49] <|@
126 gap () () () () [hir:v49] <|@
128 constant-t [rbx|R]= [hir:t50] <|@
130 gap ((0) = [rbx|R];) () () () [hir:t50] <|@
132 store-named-field [rdx|R].%elements@16 <- [rbx|R] [hir:v51] <|@
134 gap () () () () [hir:v51] <|@
136 push-argument = [constant:54] [hir:t55] <|@
138 gap () () () () [hir:t55] <|@
140 push-argument = [constant:39] [hir:t55] <|@
142 gap () () () () [hir:t55] <|@
144 push-argument = [rdx|R] [hir:t55] <|@
146 gap () () () () [hir:t55] <|@
148 constant-t [rdi|R]= [hir:t38] <|@
150 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t38] <|@
152 call-js-function [rax|R]= [rdi|R]#2 / {[rdi|R];[stack:0]} [hir:t57] <|@
154 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t57] <|@
156 lazy-bailout = [id=30|deopt_id=1|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0];[rax|R]] [hir:v58] <|@
158 gap () () () () [hir:v58] <|@
160 push-argument = [rax|R] [hir:t59] <|@
162 gap () ([rsi|R] = [stack:0];) () () [hir:t59] <|@
164 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t60] <|@
166 gap ((0) = [rax|R];) () () () [hir:t60] <|@
168 lazy-bailout = [id=28|deopt_id=2|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v61] <|@
170 gap () () () () [hir:v61] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B9"
successors "B13"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 172
last_lir_id 178
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v31 BlockEntry type:Tagged pos:23 <|@
0 0 v32 Simulate id=6 type:Tagged pos:23 <|@
0 0 v33 Goto B13 type:Tagged pos:23 <|@
end_HIR
begin_LIR
172 label () () () () Dead block replaced with B13 [hir:v31] <|@
174 gap () () () () [hir:v31] <|@
176 gap () () () () [hir:v33] <|@
178 goto B13 [hir:v33] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B4" "B12"
successors "B16" "B14"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 180
last_lir_id 186
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v63 BlockEntry type:Tagged pos:187 <|@
0 0 v64 TypeofIsAndBranch t2 == string goto (B16, B14) type:Tagged pos:187 <|@
end_HIR
begin_LIR
180 label () () () () [hir:v63] <|@
182 gap () () () () [hir:v63] <|@
184 gap () ([rax|R] = [stack:-1];) () () [hir:v64] <|@
186 typeof-is-and-branch if typeof [rax|R] == "string" then B16 else B14 [hir:v64] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B13"
successors "B15"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 188
last_lir_id 194
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v68 BlockEntry type:Tagged pos:187 <|@
0 0 v69 Simulate id=52 type:Tagged pos:187 <|@
0 0 v70 Goto B15 type:Tagged pos:187 <|@
end_HIR
begin_LIR
188 label () () () () Dead block replaced with B15 [hir:v68] <|@
190 gap () () () () [hir:v68] <|@
192 gap () () () () [hir:v70] <|@
194 goto B15 [hir:v70] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14"
successors "B18"
xhandlers
flags
dominator "B14"
loop_depth 0
first_lir_id 196
last_lir_id 222
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v71 BlockEntry type:Tagged pos:205 <|@
0 1 t72 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:205 <|@
0 1 t74 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:205 <|@
0 0 t75 PushArguments t74 t2 type:Tagged pos:205 <|@
0 2 t77 CallJSFunction t72 #2 changes[*] type:Tagged pos:205 <|@
0 0 v78 Simulate id=67 push t77 type:Tagged pos:205 <|@
0 0 v82 Simulate id=49 type:Tagged pos:165 <|@
0 0 v83 Goto B18 type:Tagged pos:165 <|@
end_HIR
begin_LIR
196 label () () () () [hir:v71] <|@
198 gap () () () () [hir:v71] <|@
200 push-argument = [constant:74] [hir:t75] <|@
202 gap () () () () [hir:t75] <|@
204 push-argument = [stack:-1] [hir:t75] <|@
206 gap () () () () [hir:t75] <|@
208 constant-t [rdi|R]= [hir:t72] <|@
210 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t72] <|@
212 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0]} [hir:t77] <|@
214 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t77] <|@
216 lazy-bailout = [id=67|deopt_id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0];[rax|R]] [hir:v78] <|@
218 gap () () () () [hir:v78] <|@
220 gap () ([rax|R];) () () [hir:v83] <|@
222 goto B18 [hir:v83] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B13"
successors "B17"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 224
last_lir_id 230
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v65 BlockEntry type:Tagged pos:187 <|@
0 0 v66 Simulate id=51 type:Tagged pos:187 <|@
0 0 v67 Goto B17 type:Tagged pos:187 <|@
end_HIR
begin_LIR
224 label () () () () Dead block replaced with B17 [hir:v65] <|@
226 gap () () () () [hir:v65] <|@
228 gap () () () () [hir:v67] <|@
230 goto B17 [hir:v67] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B18"
xhandlers
flags
dominator "B16"
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 v79 BlockEntry type:Tagged pos:165 <|@
0 0 v80 Simulate id=49 push t2 type:Tagged pos:165 <|@
0 0 v81 Goto B18 type:Tagged pos:165 <|@
end_HIR
begin_LIR
232 label () () () () [hir:v79] <|@
234 gap () () () () [hir:v79] <|@
236 gap () ([rax|R] = [stack:-1];) () () [hir:v81] <|@
238 goto B18 [hir:v81] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B17" "B15"
successors
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 240
last_lir_id 258
begin_states
begin_locals
size 1
method "None"
2 t84 [ t2 t77 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v85 BlockEntry type:Tagged pos:145 <|@
0 0 t86 PushArguments t84 type:Tagged pos:145 <|@
0 2 t87 CallRuntime StringToLowerCase #1 changes[*] type:Tagged pos:145 <|@
0 0 v88 Simulate id=46 pop 1 / push t87 type:Tagged pos:145 <|@
0 1 s93 Constant 0 type:Smi pos:138 <|@
0 0 v90 Return t87 (pop s93 values) type:Tagged pos:138 <|@
end_HIR
begin_LIR
240 label () ((0) = [rax|R];) () () [hir:v85] <|@
242 gap () () () () [hir:v85] <|@
244 push-argument = [rax|R] [hir:t86] <|@
246 gap () ([rsi|R] = [stack:0];) () () [hir:t86] <|@
248 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t87] <|@
250 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t87] <|@
252 lazy-bailout = [id=46|deopt_id=4|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0];[rax|R]] [hir:v88] <|@
254 gap () ([rax|R];) () () [hir:v88] <|@
256 return = [rax|R] NULL [constant:93] [hir:v90] <|@
258 gap () () () () [hir:v90] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "substring"
method "substring:8"
date 1432461309000
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 22
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v0 BlockEntry type:Tagged <|@
0 1 t13 Constant 0x315a30704101 <null> [map 0x3f3d148041b1] <|@
0 19 t6 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 11 t1 Context type:Tagged <|@
0 10 t2 Parameter 0 type:Tagged <|@
0 6 t3 Parameter 1 type:Tagged <|@
0 7 t4 Parameter 2 type:Tagged <|@
0 0 t5 ArgumentsObject t2 t3 t4 type:Tagged <|@
0 0 v7 Simulate id=2 var[8] = t6, var[7] = t6, var[6] = t6, var[5] = t6, var[4] = t6, var[3] = t1, var[2] = t4, var[1] = t3, var[0] = t2 type:Tagged <|@
0 0 v8 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:-3]= [hir:t2] <|@
10 gap () ([stack:-3];) () () [hir:t2] <|@
12 parameter [stack:-2]= [hir:t3] <|@
14 gap () ([stack:-2];) () () [hir:t3] <|@
16 parameter [stack:-1]= [hir:t4] <|@
18 gap () ([stack:-1];) () () [hir:t4] <|@
20 gap () () () () [hir:v8] <|@
22 goto B1 [hir:v8] <|@
end_LIR
end_block
begin_block
name "B1"
from_bci -1
to_bci -1
predecessors "B0"
successors "B7" "B2"
xhandlers
flags
dominator "B0"
loop_depth 0
first_lir_id 24
last_lir_id 38
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v9 BlockEntry type:Tagged <|@
0 0 v10 Simulate id=3 type:Tagged <|@
0 0 v11 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@
0 0 v14 CompareObjectEqAndBranch t2 t13 goto (B7, B2) type:Tagged pos:15 <|@
end_HIR
begin_LIR
24 label () () () () [hir:v9] <|@
26 gap () ([rsi|R] = [rax|R];) () () [hir:v9] <|@
28 stack-check = [rsi|R] [id=3|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] {[rsi|R];[stack:0]} [hir:v11] <|@
30 gap () () () () [hir:v11] <|@
32 lazy-bailout = [id=3|deopt_id=0|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v11] <|@
34 gap () () () () [hir:v11] <|@
36 gap () () ([rax|R] = [stack:-3];) () [hir:v14] <|@
38 cmp-object-eq-and-branch = [rax|R] [constant:13] [hir:v14] <|@
end_LIR
end_block
begin_block
name "B2"
from_bci -1
to_bci -1
predecessors "B1"
successors "B6" "B3"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 40
last_lir_id 46
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v19 BlockEntry type:Tagged pos:15 <|@
0 0 v20 CompareObjectEqAndBranch t2 t6 goto (B6, B3) type:Tagged pos:15 <|@
end_HIR
begin_LIR
40 label () () () () [hir:v19] <|@
42 gap () () () () [hir:v19] <|@
44 gap () () () () [hir:v20] <|@
46 cmp-object-eq-and-branch = [rax|R] [constant:6] [hir:v20] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B2"
successors "B5" "B4"
xhandlers
flags
dominator "B2"
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 v23 BlockEntry type:Tagged pos:15 <|@
0 0 v24 IsUndetectableAndBranch t2 goto (B5, B4) type:Tagged pos:15 <|@
end_HIR
begin_LIR
48 label () () () () [hir:v23] <|@
50 gap () () () () [hir:v23] <|@
52 gap () () () () [hir:v24] <|@
54 is-undetectable-and-branch if is_undetectable([rax|R]) then B5 else B4 [hir:v24] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B3"
successors "B13"
xhandlers
flags
dominator "B3"
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 v28 BlockEntry type:Tagged pos:15 <|@
0 0 v29 Simulate id=16 type:Tagged pos:15 <|@
0 0 v30 Goto B13 type:Tagged pos:15 <|@
end_HIR
begin_LIR
56 label () () () () Dead block replaced with B13 [hir:v28] <|@
58 gap () () () () [hir:v28] <|@
60 gap () () () () [hir:v30] <|@
62 goto B13 [hir:v30] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B3"
successors "B8"
xhandlers
flags
dominator "B3"
loop_depth 0
first_lir_id 64
last_lir_id 70
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v21 BlockEntry type:Tagged pos:15 <|@
0 0 v22 Goto B8 type:Tagged pos:15 <|@
end_HIR
begin_LIR
64 label () () () () Dead block replaced with B8 [hir:v21] <|@
66 gap () () () () [hir:v21] <|@
68 gap () () () () [hir:v22] <|@
70 goto B8 [hir:v22] <|@
end_LIR
end_block
begin_block
name "B6"
from_bci -1
to_bci -1
predecessors "B2"
successors "B8"
xhandlers
flags
dominator "B2"
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 v17 BlockEntry type:Tagged pos:15 <|@
0 0 v18 Goto B8 type:Tagged pos:15 <|@
end_HIR
begin_LIR
72 label () () () () Dead block replaced with B8 [hir:v17] <|@
74 gap () () () () [hir:v17] <|@
76 gap () () () () [hir:v18] <|@
78 goto B8 [hir:v18] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B1"
successors "B8"
xhandlers
flags
dominator "B1"
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 v15 BlockEntry type:Tagged pos:15 <|@
0 0 v16 Goto B8 type:Tagged pos:15 <|@
end_HIR
begin_LIR
80 label () () () () Dead block replaced with B8 [hir:v15] <|@
82 gap () () () () [hir:v15] <|@
84 gap () () () () [hir:v16] <|@
86 goto B8 [hir:v16] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B7" "B6" "B5"
successors "B9"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 88
last_lir_id 94
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v25 BlockEntry type:Tagged pos:15 <|@
0 0 v26 Simulate id=19 type:Tagged pos:15 <|@
0 0 v27 Goto B9 type:Tagged pos:15 <|@
end_HIR
begin_LIR
88 label () () () () Dead block replaced with B9 [hir:v25] <|@
90 gap () () () () [hir:v25] <|@
92 gap () () () () [hir:v27] <|@
94 goto B9 [hir:v27] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B12" "B10"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 96
last_lir_id 102
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v31 BlockEntry type:Tagged pos:26 <|@
0 0 v32 IsUndetectableAndBranch t2 goto (B12, B10) type:Tagged pos:26 <|@
end_HIR
begin_LIR
96 label () () () () [hir:v31] <|@
98 gap () () () () [hir:v31] <|@
100 gap () () () () [hir:v32] <|@
102 is-undetectable-and-branch if is_undetectable([rax|R]) then B12 else B10 [hir:v32] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9"
successors "B11"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 104
last_lir_id 110
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v36 BlockEntry type:Tagged pos:26 <|@
0 0 v37 Simulate id=15 type:Tagged pos:26 <|@
0 0 v38 Goto B11 type:Tagged pos:26 <|@
end_HIR
begin_LIR
104 label () () () () Dead block replaced with B11 [hir:v36] <|@
106 gap () () () () [hir:v36] <|@
108 gap () () () () [hir:v38] <|@
110 goto B11 [hir:v38] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B10"
successors
xhandlers
flags
dominator "B10"
loop_depth 0
first_lir_id 112
last_lir_id 178
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v39 BlockEntry type:Tagged pos:62 <|@
0 1 t40 Constant 0x315a30797b41 <JS Function MakeTypeError (SharedFunctionInfo 0x315a3074de69)> pos:62 <|@
0 1 t41 Constant 0x171db9924999 <String[27]: called_on_null_or_undefined> [map 0x3f3d14804261] pos:76 <|@
0 1 i42 Constant 32 type:Smi [noOSE] pos:106 <|@
0 11 t43 Allocate i42 (N) changes[NewSpacePromotion] [noOSE] pos:106 <|@
0 2 t44 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:106 <|@
0 0 v45 StoreNamedField t43.%elements@16 = t44 changes[ElementsPointer] type:Tagged [noOSE] pos:106 <|@
0 1 t46 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:106 <|@
0 0 v47 StoreNamedField t43.%map@0 = t46 changes[Maps] type:Tagged [noOSE] pos:106 <|@
0 0 v49 StoreNamedField t43.[in-object]@8 = t44 changes[InobjectFields] type:Tagged [noOSE] pos:106 <|@
0 1 s289 Constant 1 type:Smi pos:106 <|@
0 0 v51 StoreNamedField t43.%length@24 = s289 changes[ArrayLengths] type:Tagged [noOSE] pos:106 <|@
0 1 t52 Constant 0x1b02260e5af1 <FixedArray[1]> [map 0x3f3d148047e1] [new space] [noOSE] pos:106 <|@
0 0 v53 StoreNamedField t43.%elements@16 = t52 changes[ElementsPointer] type:Tagged [noOSE] pos:106 <|@
0 1 t56 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:62 <|@
0 0 t57 PushArguments t56 t41 t43 type:Tagged pos:62 <|@
0 2 t59 CallJSFunction t40 #3 changes[*] type:Tagged pos:62 <|@
0 0 v60 Simulate id=40 push t59 type:Tagged pos:62 <|@
0 0 t61 PushArguments t59 type:Tagged pos:56 <|@
0 0 t62 CallRuntime #1 changes[*] type:Tagged pos:56 <|@
0 0 v63 Simulate id=38 pop 1 type:Tagged pos:56 <|@
0 0 v64 AbnormalExit goto () type:Tagged pos:56 <|@
end_HIR
begin_LIR
112 label () () () () [hir:v39] <|@
114 gap () () () () [hir:v39] <|@
116 allocate [rdx|R]= [stack:0] [constant:42] {[stack:0];[rax|R];[rdx|R]} [hir:t43] <|@
118 gap ((0) = [rdx|R];) () () () [hir:t43] <|@
120 store-named-field [rdx|R].%elements@16 <- [constant:44] [hir:v45] <|@
122 gap () () () () [hir:v45] <|@
124 store-named-field [rdx|R].%map@0 <- [constant:46] [hir:v47] <|@
126 gap () () () () [hir:v47] <|@
128 store-named-field [rdx|R].[in-object]@8 <- [constant:44] [hir:v49] <|@
130 gap () () () () [hir:v49] <|@
132 store-named-field [rdx|R].%length@24 <- [constant:289] [hir:v51] <|@
134 gap () () () () [hir:v51] <|@
136 constant-t [rbx|R]= [hir:t52] <|@
138 gap ((0) = [rbx|R];) () () () [hir:t52] <|@
140 store-named-field [rdx|R].%elements@16 <- [rbx|R] [hir:v53] <|@
142 gap () () () () [hir:v53] <|@
144 push-argument = [constant:56] [hir:t57] <|@
146 gap () () () () [hir:t57] <|@
148 push-argument = [constant:41] [hir:t57] <|@
150 gap () () () () [hir:t57] <|@
152 push-argument = [rdx|R] [hir:t57] <|@
154 gap () () () () [hir:t57] <|@
156 constant-t [rdi|R]= [hir:t40] <|@
158 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t40] <|@
160 call-js-function [rax|R]= [rdi|R]#2 / {[rdi|R];[stack:0]} [hir:t59] <|@
162 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t59] <|@
164 lazy-bailout = [id=40|deopt_id=1|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v60] <|@
166 gap () () () () [hir:v60] <|@
168 push-argument = [rax|R] [hir:t61] <|@
170 gap () ([rsi|R] = [stack:0];) () () [hir:t61] <|@
172 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t62] <|@
174 gap ((0) = [rax|R];) () () () [hir:t62] <|@
176 lazy-bailout = [id=38|deopt_id=2|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v63] <|@
178 gap () () () () [hir:v63] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B9"
successors "B13"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 180
last_lir_id 186
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v33 BlockEntry type:Tagged pos:26 <|@
0 0 v34 Simulate id=16 type:Tagged pos:26 <|@
0 0 v35 Goto B13 type:Tagged pos:26 <|@
end_HIR
begin_LIR
180 label () () () () Dead block replaced with B13 [hir:v33] <|@
182 gap () () () () [hir:v33] <|@
184 gap () () () () [hir:v35] <|@
186 goto B13 [hir:v35] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B4" "B12"
successors "B16" "B14"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 188
last_lir_id 194
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v65 BlockEntry type:Tagged pos:169 <|@
0 0 v66 TypeofIsAndBranch t2 == string goto (B16, B14) type:Tagged pos:169 <|@
end_HIR
begin_LIR
188 label () () () () [hir:v65] <|@
190 gap () () () () [hir:v65] <|@
192 gap () ([rax|R] = [stack:-3];) () () [hir:v66] <|@
194 typeof-is-and-branch if typeof [rax|R] == "string" then B16 else B14 [hir:v66] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B13"
successors "B15"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 196
last_lir_id 202
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v70 BlockEntry type:Tagged pos:169 <|@
0 0 v71 Simulate id=68 type:Tagged pos:169 <|@
0 0 v72 Goto B15 type:Tagged pos:169 <|@
end_HIR
begin_LIR
196 label () () () () Dead block replaced with B15 [hir:v70] <|@
198 gap () () () () [hir:v70] <|@
200 gap () () () () [hir:v72] <|@
202 goto B15 [hir:v72] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14"
successors "B18"
xhandlers
flags
dominator "B14"
loop_depth 0
first_lir_id 204
last_lir_id 230
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v73 BlockEntry type:Tagged pos:187 <|@
0 1 t74 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:187 <|@
0 1 t76 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:187 <|@
0 0 t77 PushArguments t76 t2 type:Tagged pos:187 <|@
0 2 t79 CallJSFunction t74 #2 changes[*] type:Tagged pos:187 <|@
0 0 v80 Simulate id=83 push t79 type:Tagged pos:187 <|@
0 0 v84 Simulate id=65 type:Tagged pos:147 <|@
0 0 v85 Goto B18 type:Tagged pos:147 <|@
end_HIR
begin_LIR
204 label () () () () [hir:v73] <|@
206 gap () () () () [hir:v73] <|@
208 push-argument = [constant:76] [hir:t77] <|@
210 gap () () () () [hir:t77] <|@
212 push-argument = [stack:-3] [hir:t77] <|@
214 gap () () () () [hir:t77] <|@
216 constant-t [rdi|R]= [hir:t74] <|@
218 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t74] <|@
220 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0]} [hir:t79] <|@
222 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t79] <|@
224 lazy-bailout = [id=83|deopt_id=3|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v80] <|@
226 gap () () () () [hir:v80] <|@
228 gap () ([rax|R];) () () [hir:v85] <|@
230 goto B18 [hir:v85] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B13"
successors "B17"
xhandlers
flags
dominator "B13"
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 v67 BlockEntry type:Tagged pos:169 <|@
0 0 v68 Simulate id=67 type:Tagged pos:169 <|@
0 0 v69 Goto B17 type:Tagged pos:169 <|@
end_HIR
begin_LIR
232 label () () () () Dead block replaced with B17 [hir:v67] <|@
234 gap () () () () [hir:v67] <|@
236 gap () () () () [hir:v69] <|@
238 goto B17 [hir:v69] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B18"
xhandlers
flags
dominator "B16"
loop_depth 0
first_lir_id 240
last_lir_id 246
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v81 BlockEntry type:Tagged pos:147 <|@
0 0 v82 Simulate id=65 push t2 type:Tagged pos:147 <|@
0 0 v83 Goto B18 type:Tagged pos:147 <|@
end_HIR
begin_LIR
240 label () () () () [hir:v81] <|@
242 gap () () () () [hir:v81] <|@
244 gap () ([rax|R] = [stack:-3];) () () [hir:v83] <|@
246 goto B18 [hir:v83] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B17" "B15"
successors "B21" "B19"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 248
last_lir_id 266
begin_states
begin_locals
size 1
method "None"
9 t86 [ t2 t79 uses:7_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v87 BlockEntry type:Tagged pos:145 <|@
0 0 t90 CheckHeapObject t86 pos:222 <|@
0 0 t91 CheckInstanceType string t86 pos:222 <|@
0 9 i92 LoadNamedField t86.%length@16 type:Smi pos:222 <|@
0 0 t94 IsSmiAndBranch t3 goto (B21, B19) type:Tagged pos:239 <|@
end_HIR
begin_LIR
248 label () ([stack:1] = [rax|R];) () () [hir:v87] <|@
250 gap () () () () [hir:v87] <|@
252 check-non-smi = [rax|R] [id=65|deopt_id=4|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:t90] <|@
254 gap () () () () [hir:t90] <|@
256 check-instance-type = [rax|R] [id=65|deopt_id=5|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:t91] <|@
258 gap () () () () [hir:t91] <|@
260 load-named-field [rbx|R]= [rax|R] [hir:i92] <|@
262 gap ([stack:2] = [rbx|R];) () () () [hir:i92] <|@
264 gap () () ([rdx|R] = [stack:-2];) () [hir:t94] <|@
266 is-smi-and-branch if is_smi([rdx|R]) then B21 else B19 [hir:t94] <|@
end_LIR
end_block
begin_block
name "B19"
from_bci -1
to_bci -1
predecessors "B18"
successors "B20"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 268
last_lir_id 274
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v98 BlockEntry type:Tagged pos:239 <|@
0 0 v99 Simulate id=121 pop 1 / var[5] = i92, var[4] = t86 type:Tagged pos:239 <|@
0 0 v100 Goto B20 type:Tagged pos:239 <|@
end_HIR
begin_LIR
268 label () () () () Dead block replaced with B20 [hir:v98] <|@
270 gap () () () () [hir:v98] <|@
272 gap () () () () [hir:v100] <|@
274 goto B20 [hir:v100] <|@
end_LIR
end_block
begin_block
name "B20"
from_bci -1
to_bci -1
predecessors "B19"
successors "B23"
xhandlers
flags
dominator "B19"
loop_depth 0
first_lir_id 276
last_lir_id 314
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v101 BlockEntry type:Tagged pos:278 <|@
0 1 t102 Constant 0x315a30792469 <JS Function ToNumber (SharedFunctionInfo 0x315a30749159)> pos:278 <|@
0 1 t104 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:278 <|@
0 0 t105 PushArguments t104 t3 type:Tagged pos:278 <|@
0 2 t107 CallJSFunction t102 #2 changes[*] type:Tagged pos:278 <|@
0 0 v108 Simulate id=132 push t107 type:Tagged pos:278 <|@
0 0 t109 PushArguments t107 type:Tagged pos:261 <|@
0 2 t110 CallRuntime NumberToInteger #1 changes[*] type:Tagged pos:261 <|@
0 0 v111 Simulate id=129 pop 1 / push t110 type:Tagged pos:261 <|@
0 0 v115 Simulate id=118 type:Tagged pos:239 <|@
0 0 v116 Goto B23 type:Tagged pos:239 <|@
end_HIR
begin_LIR
276 label () () () () [hir:v101] <|@
278 gap () () () () [hir:v101] <|@
280 push-argument = [constant:104] [hir:t105] <|@
282 gap () () () () [hir:t105] <|@
284 push-argument = [rdx|R] [hir:t105] <|@
286 gap () () () () [hir:t105] <|@
288 constant-t [rdi|R]= [hir:t102] <|@
290 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t102] <|@
292 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t107] <|@
294 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t107] <|@
296 lazy-bailout = [id=132|deopt_id=6|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v108] <|@
298 gap () () () () [hir:v108] <|@
300 push-argument = [rax|R] [hir:t109] <|@
302 gap () ([rsi|R] = [stack:0];) () () [hir:t109] <|@
304 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1]} [hir:t110] <|@
306 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t110] <|@
308 lazy-bailout = [id=129|deopt_id=7|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v111] <|@
310 gap () () () () [hir:v111] <|@
312 gap () ([rax|R];) () () [hir:v116] <|@
314 goto B23 [hir:v116] <|@
end_LIR
end_block
begin_block
name "B21"
from_bci -1
to_bci -1
predecessors "B18"
successors "B22"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 316
last_lir_id 322
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v95 BlockEntry type:Tagged pos:239 <|@
0 0 v96 Simulate id=120 pop 1 / var[5] = i92, var[4] = t86 type:Tagged pos:239 <|@
0 0 v97 Goto B22 type:Tagged pos:239 <|@
end_HIR
begin_LIR
316 label () () () () Dead block replaced with B22 [hir:v95] <|@
318 gap () () () () [hir:v95] <|@
320 gap () () () () [hir:v97] <|@
322 goto B22 [hir:v97] <|@
end_LIR
end_block
begin_block
name "B22"
from_bci -1
to_bci -1
predecessors "B21"
successors "B23"
xhandlers
flags
dominator "B21"
loop_depth 0
first_lir_id 324
last_lir_id 330
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v112 BlockEntry type:Tagged pos:239 <|@
0 0 v113 Simulate id=118 push t3 type:Tagged pos:239 <|@
0 0 v114 Goto B23 type:Tagged pos:239 <|@
end_HIR
begin_LIR
324 label () () () () [hir:v112] <|@
326 gap () () () () [hir:v112] <|@
328 gap () ([rax|R] = [stack:-2];) () () [hir:v114] <|@
330 goto B23 [hir:v114] <|@
end_LIR
end_block
begin_block
name "B23"
from_bci -1
to_bci -1
predecessors "B22" "B20"
successors "B31" "B24"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 332
last_lir_id 342
begin_states
begin_locals
size 1
method "None"
9 t117 [ t3 t110 uses:3_2s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v118 BlockEntry type:Tagged pos:237 <|@
0 3 i121 Constant 0 type:Smi pos:299 <|@
0 2 i295 Change t117 t to i type:TaggedNumber pos:296 <|@
0 0 i122 CompareNumericAndBranch LT i295 i121 goto (B31, B24) type:Tagged pos:298 <|@
end_HIR
begin_LIR
332 label () ((0) = [rax|R];) () () [hir:v118] <|@
334 gap () ([rbx|R] = [rax|R];) () () [hir:v118] <|@
336 tagged-to-i [rbx|R]= [rbx|R] [id=118|deopt_id=12|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:i295] <|@
338 gap ((0) = [rbx|R];) () () () [hir:i295] <|@
340 gap () () () () [hir:i122] <|@
342 compare-numeric-and-branch if [rbx|R] < [constant:121] then B31 else B24 [hir:i122] <|@
end_LIR
end_block
begin_block
name "B24"
from_bci -1
to_bci -1
predecessors "B23"
successors "B25"
xhandlers
flags
dominator "B23"
loop_depth 0
first_lir_id 344
last_lir_id 350
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v126 BlockEntry type:Tagged pos:298 <|@
0 0 v127 Simulate id=142 pop 1 / var[6] = t117 type:Tagged pos:298 <|@
0 0 v128 Goto B25 type:Tagged pos:298 <|@
end_HIR
begin_LIR
344 label () () () () Dead block replaced with B25 [hir:v126] <|@
346 gap () () () () [hir:v126] <|@
348 gap () () () () [hir:v128] <|@
350 goto B25 [hir:v128] <|@
end_LIR
end_block
begin_block
name "B25"
from_bci -1
to_bci -1
predecessors "B24"
successors "B28" "B26"
xhandlers
flags
dominator "B24"
loop_depth 0
first_lir_id 352
last_lir_id 358
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v132 BlockEntry type:Tagged pos:318 <|@
0 0 i135 CompareNumericAndBranch GT i295 i92 goto (B28, B26) type:Tagged pos:320 <|@
end_HIR
begin_LIR
352 label () () () () [hir:v132] <|@
354 gap () () () () [hir:v132] <|@
356 gap () () () () [hir:i135] <|@
358 compare-numeric-and-branch if [rbx|R] > [stack:2] then B28 else B26 [hir:i135] <|@
end_LIR
end_block
begin_block
name "B26"
from_bci -1
to_bci -1
predecessors "B25"
successors "B27"
xhandlers
flags
dominator "B25"
loop_depth 0
first_lir_id 360
last_lir_id 366
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v139 BlockEntry type:Tagged pos:320 <|@
0 0 v140 Simulate id=165 type:Tagged pos:320 <|@
0 0 v141 Goto B27 type:Tagged pos:320 <|@
end_HIR
begin_LIR
360 label () () () () Dead block replaced with B27 [hir:v139] <|@
362 gap () () () () [hir:v139] <|@
364 gap () () () () [hir:v141] <|@
366 goto B27 [hir:v141] <|@
end_LIR
end_block
begin_block
name "B27"
from_bci -1
to_bci -1
predecessors "B26"
successors "B30"
xhandlers
flags
dominator "B26"
loop_depth 0
first_lir_id 368
last_lir_id 374
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v147 BlockEntry type:Tagged pos:315 <|@
0 0 v148 Simulate id=163 type:Tagged pos:315 <|@
0 0 v149 Goto B30 type:Tagged pos:315 <|@
end_HIR
begin_LIR
368 label () () () () [hir:v147] <|@
370 gap () () () () [hir:v147] <|@
372 gap () ([rbx|R] = [rax|R]; [rax|R] = [stack:2];) () () [hir:v149] <|@
374 goto B30 [hir:v149] <|@
end_LIR
end_block
begin_block
name "B28"
from_bci -1
to_bci -1
predecessors "B25"
successors "B29"
xhandlers
flags
dominator "B25"
loop_depth 0
first_lir_id 376
last_lir_id 382
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v136 BlockEntry type:Tagged pos:320 <|@
0 0 v137 Simulate id=164 var[6] = t6 type:Tagged pos:320 <|@
0 0 v138 Goto B29 type:Tagged pos:320 <|@
end_HIR
begin_LIR
376 label () () () () Dead block replaced with B29 [hir:v136] <|@
378 gap () () () () [hir:v136] <|@
380 gap () () () () [hir:v138] <|@
382 goto B29 [hir:v138] <|@
end_LIR
end_block
begin_block
name "B29"
from_bci -1
to_bci -1
predecessors "B28"
successors "B30"
xhandlers
flags
dominator "B28"
loop_depth 0
first_lir_id 384
last_lir_id 394
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v142 BlockEntry type:Tagged pos:329 <|@
0 0 v145 Simulate id=163 var[6] = i92 type:Tagged pos:315 <|@
0 1 t293 Change i92 i to t pos:293 <|@
0 0 v146 Goto B30 type:Tagged pos:315 <|@
end_HIR
begin_LIR
384 label () () () () [hir:v142] <|@
386 gap () () ([rax|R] = [stack:2];) () [hir:v142] <|@
388 smi-tag [rbx|R]= [rax|R] [hir:t293] <|@
390 gap ((0) = [rbx|R];) () () () [hir:t293] <|@
392 gap () ([rbx|R];) () () [hir:v146] <|@
394 goto B30 [hir:v146] <|@
end_LIR
end_block
begin_block
name "B30"
from_bci -1
to_bci -1
predecessors "B29" "B27"
successors "B33"
xhandlers
flags
dominator "B25"
loop_depth 0
first_lir_id 396
last_lir_id 402
begin_states
begin_locals
size 1
method "None"
6 t150 [ t293 t117 uses:1_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v153 BlockEntry type:Tagged pos:293 <|@
0 0 v154 Simulate id=140 type:Tagged pos:293 <|@
0 0 v155 Goto B33 type:Tagged pos:293 <|@
end_HIR
begin_LIR
396 label () ((0) = [rbx|R];) () () Dead block replaced with B33 [hir:v153] <|@
398 gap () () () () [hir:v153] <|@
400 gap () ([rbx|R];) () () [hir:v155] <|@
402 goto B33 [hir:v155] <|@
end_LIR
end_block
begin_block
name "B31"
from_bci -1
to_bci -1
predecessors "B23"
successors "B32"
xhandlers
flags
dominator "B23"
loop_depth 0
first_lir_id 404
last_lir_id 410
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v123 BlockEntry type:Tagged pos:298 <|@
0 0 v124 Simulate id=141 pop 1 / var[6] = t6 type:Tagged pos:298 <|@
0 0 v125 Goto B32 type:Tagged pos:298 <|@
end_HIR
begin_LIR
404 label () ([rax|R] = [stack:2];) () () [hir:v123] <|@
406 gap () () () () [hir:v123] <|@
408 gap () () () () [hir:v125] <|@
410 goto B32 [hir:v125] <|@
end_LIR
end_block
begin_block
name "B32"
from_bci -1
to_bci -1
predecessors "B31"
successors "B33"
xhandlers
flags
dominator "B31"
loop_depth 0
first_lir_id 412
last_lir_id 418
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v129 BlockEntry type:Tagged pos:306 <|@
0 0 v151 Simulate id=140 var[6] = i121 type:Tagged pos:293 <|@
0 1 t296 Constant 0 pos:293 <|@
0 0 v152 Goto B33 type:Tagged pos:293 <|@
end_HIR
begin_LIR
412 label () () () () [hir:v129] <|@
414 gap () () () () [hir:v129] <|@
416 gap () ([rbx|R] = [constant:296];) () () [hir:v152] <|@
418 goto B33 [hir:v152] <|@
end_LIR
end_block
begin_block
name "B33"
from_bci -1
to_bci -1
predecessors "B32" "B30"
successors "B59" "B34"
xhandlers
flags
dominator "B23"
loop_depth 0
first_lir_id 420
last_lir_id 426
begin_states
begin_locals
size 1
method "None"
6 t156 [ t296 t150 uses:6_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v157 BlockEntry type:Tagged pos:342 <|@
0 0 v160 CompareObjectEqAndBranch t4 t6 goto (B59, B34) type:Tagged pos:352 <|@
end_HIR
begin_LIR
420 label () ([stack:3] = [rbx|R];) () () [hir:v157] <|@
422 gap () () () () [hir:v157] <|@
424 gap () () ([rdx|R] = [stack:-1];) () [hir:v160] <|@
426 cmp-object-eq-and-branch = [rdx|R] [constant:6] [hir:v160] <|@
end_LIR
end_block
begin_block
name "B34"
from_bci -1
to_bci -1
predecessors "B33"
successors "B35"
xhandlers
flags
dominator "B33"
loop_depth 0
first_lir_id 428
last_lir_id 434
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v164 BlockEntry type:Tagged pos:352 <|@
0 0 v165 Simulate id=196 var[7] = t6 type:Tagged pos:352 <|@
0 0 v166 Goto B35 type:Tagged pos:352 <|@
end_HIR
begin_LIR
428 label () () () () Dead block replaced with B35 [hir:v164] <|@
430 gap () () () () [hir:v164] <|@
432 gap () () () () [hir:v166] <|@
434 goto B35 [hir:v166] <|@
end_LIR
end_block
begin_block
name "B35"
from_bci -1
to_bci -1
predecessors "B34"
successors "B38" "B36"
xhandlers
flags
dominator "B34"
loop_depth 0
first_lir_id 436
last_lir_id 442
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v167 BlockEntry type:Tagged pos:371 <|@
0 0 t168 IsSmiAndBranch t4 goto (B38, B36) type:Tagged pos:371 <|@
end_HIR
begin_LIR
436 label () () () () [hir:v167] <|@
438 gap () () () () [hir:v167] <|@
440 gap () () () () [hir:t168] <|@
442 is-smi-and-branch if is_smi([rdx|R]) then B38 else B36 [hir:t168] <|@
end_LIR
end_block
begin_block
name "B36"
from_bci -1
to_bci -1
predecessors "B35"
successors "B37"
xhandlers
flags
dominator "B35"
loop_depth 0
first_lir_id 444
last_lir_id 450
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v172 BlockEntry type:Tagged pos:371 <|@
0 0 v173 Simulate id=226 type:Tagged pos:371 <|@
0 0 v174 Goto B37 type:Tagged pos:371 <|@
end_HIR
begin_LIR
444 label () () () () Dead block replaced with B37 [hir:v172] <|@
446 gap () () () () [hir:v172] <|@
448 gap () () () () [hir:v174] <|@
450 goto B37 [hir:v174] <|@
end_LIR
end_block
begin_block
name "B37"
from_bci -1
to_bci -1
predecessors "B36"
successors "B40"
xhandlers
flags
dominator "B36"
loop_depth 0
first_lir_id 452
last_lir_id 490
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v175 BlockEntry type:Tagged pos:410 <|@
0 1 t176 Constant 0x315a30792469 <JS Function ToNumber (SharedFunctionInfo 0x315a30749159)> pos:410 <|@
0 1 t178 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:410 <|@
0 0 t179 PushArguments t178 t4 type:Tagged pos:410 <|@
0 2 t181 CallJSFunction t176 #2 changes[*] type:Tagged pos:410 <|@
0 0 v182 Simulate id=237 push t181 type:Tagged pos:410 <|@
0 0 t183 PushArguments t181 type:Tagged pos:393 <|@
0 2 t184 CallRuntime NumberToInteger #1 changes[*] type:Tagged pos:393 <|@
0 0 v185 Simulate id=234 pop 1 / push t184 type:Tagged pos:393 <|@
0 0 v189 Simulate id=223 type:Tagged pos:371 <|@
0 0 v190 Goto B40 type:Tagged pos:371 <|@
end_HIR
begin_LIR
452 label () () () () [hir:v175] <|@
454 gap () () () () [hir:v175] <|@
456 push-argument = [constant:178] [hir:t179] <|@
458 gap () () () () [hir:t179] <|@
460 push-argument = [rdx|R] [hir:t179] <|@
462 gap () () () () [hir:t179] <|@
464 constant-t [rdi|R]= [hir:t176] <|@
466 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t176] <|@
468 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:3]} [hir:t181] <|@
470 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t181] <|@
472 lazy-bailout = [id=237|deopt_id=8|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[stack:3];[constant:6];[constant:6];[rax|R]] [hir:v182] <|@
474 gap () () () () [hir:v182] <|@
476 push-argument = [rax|R] [hir:t183] <|@
478 gap () ([rsi|R] = [stack:0];) () () [hir:t183] <|@
480 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:3]} [hir:t184] <|@
482 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t184] <|@
484 lazy-bailout = [id=234|deopt_id=9|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[stack:3];[constant:6];[constant:6];[rax|R]] [hir:v185] <|@
486 gap () () () () [hir:v185] <|@
488 gap () ([rax|R];) () () [hir:v190] <|@
490 goto B40 [hir:v190] <|@
end_LIR
end_block
begin_block
name "B38"
from_bci -1
to_bci -1
predecessors "B35"
successors "B39"
xhandlers
flags
dominator "B35"
loop_depth 0
first_lir_id 492
last_lir_id 498
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v169 BlockEntry type:Tagged pos:371 <|@
0 0 v170 Simulate id=225 type:Tagged pos:371 <|@
0 0 v171 Goto B39 type:Tagged pos:371 <|@
end_HIR
begin_LIR
492 label () () () () Dead block replaced with B39 [hir:v169] <|@
494 gap () () () () [hir:v169] <|@
496 gap () () () () [hir:v171] <|@
498 goto B39 [hir:v171] <|@
end_LIR
end_block
begin_block
name "B39"
from_bci -1
to_bci -1
predecessors "B38"
successors "B40"
xhandlers
flags
dominator "B38"
loop_depth 0
first_lir_id 500
last_lir_id 506
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v186 BlockEntry type:Tagged pos:371 <|@
0 0 v187 Simulate id=223 push t4 type:Tagged pos:371 <|@
0 0 v188 Goto B40 type:Tagged pos:371 <|@
end_HIR
begin_LIR
500 label () () () () [hir:v186] <|@
502 gap () () () () [hir:v186] <|@
504 gap () ([rax|R] = [stack:-1];) () () [hir:v188] <|@
506 goto B40 [hir:v188] <|@
end_LIR
end_block
begin_block
name "B40"
from_bci -1
to_bci -1
predecessors "B39" "B37"
successors "B41"
xhandlers
flags
dominator "B35"
loop_depth 0
first_lir_id 508
last_lir_id 514
begin_states
begin_locals
size 1
method "None"
9 t191 [ t4 t184 uses:4_0s_0i_0d_3t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v192 BlockEntry type:Tagged pos:369 <|@
0 0 v196 Deoptimize goto (B41) type:Tagged pos:430 <|@
end_HIR
begin_LIR
508 label () ((0) = [rax|R];) () () [hir:v192] <|@
510 gap () () () () [hir:v192] <|@
512 gap () () () () [hir:v196] <|@
514 deoptimize = [id=223|deopt_id=10|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[stack:2];[stack:3];[constant:6];[constant:6];[rax|R]] [hir:v196] <|@
end_LIR
end_block
begin_block
name "B41"
from_bci -1
to_bci -1
predecessors "B40"
successors "B56" "B42"
xhandlers
flags "dead"
dominator "B40"
loop_depth 0
first_lir_id 516
last_lir_id 538
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v197 BlockEntry type:Tagged pos:430 <|@
0 2 t292 Change i92 i to t pos:430 <|@
0 2 t198 CompareGeneric GT t191 t292 changes[*] pos:430 <|@
0 0 v199 Simulate id=248 pop 1 / var[7] = t191, push t198 type:Tagged pos:430 <|@
0 0 v200 Branch t198 goto (B56, B42) (None) type:Tagged pos:430 <|@
end_HIR
begin_LIR
516 label () () () () [hir:v197] <|@
518 gap () () () () [hir:v197] <|@
520 dummy-use [rbx|R]= [stack:2] [hir:t292] <|@
522 gap ((0) = [rbx|R];) () () () [hir:t292] <|@
524 dummy-use = [rax|R] [hir:t198] <|@
526 gap () () () () [hir:t198] <|@
528 dummy-use = [rbx|R] [hir:t198] <|@
530 gap () () () () [hir:t198] <|@
532 dummy-use [rdx|R]= [stack:0] [hir:t198] <|@
534 gap ((0) = [rdx|R];) () () () [hir:t198] <|@
536 gap () () () () [hir:v200] <|@
538 branch B56 | B42 on [rdx|R] [hir:v200] <|@
end_LIR
end_block
begin_block
name "B42"
from_bci -1
to_bci -1
predecessors "B41"
successors "B43"
xhandlers
flags "dead"
dominator "B41"
loop_depth 0
first_lir_id 540
last_lir_id 546
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v204 BlockEntry type:Tagged pos:430 <|@
0 0 v205 Simulate id=247 pop 1 / var[5] = t6 type:Tagged pos:430 <|@
0 0 v206 Goto B43 type:Tagged pos:430 <|@
end_HIR
begin_LIR
540 label () () () () Dead block replaced with B43 [hir:v204] <|@
542 gap () () () () [hir:v204] <|@
544 gap () () () () [hir:v206] <|@
546 goto B43 [hir:v206] <|@
end_LIR
end_block
begin_block
name "B43"
from_bci -1
to_bci -1
predecessors "B42"
successors "B44"
xhandlers
flags "dead"
dominator "B42"
loop_depth 0
first_lir_id 548
last_lir_id 554
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v210 BlockEntry type:Tagged pos:453 <|@
0 0 v213 Deoptimize goto (B44) type:Tagged pos:455 <|@
end_HIR
begin_LIR
548 label () () () () [hir:v210] <|@
550 gap () () () () [hir:v210] <|@
552 gap () () () () [hir:v213] <|@
554 deoptimize = [id=247|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[stack:3];[rax|R];[constant:6]] [hir:v213] <|@
end_LIR
end_block
begin_block
name "B44"
from_bci -1
to_bci -1
predecessors "B43"
successors "B47" "B45"
xhandlers
flags "dead"
dominator "B43"
loop_depth 0
first_lir_id 556
last_lir_id 574
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v214 BlockEntry type:Tagged pos:455 <|@
0 2 t297 Constant 0 pos:455 <|@
0 2 t215 CompareGeneric LT t191 t297 changes[*] pos:455 <|@
0 0 v216 Simulate id=272 push t215 type:Tagged pos:455 <|@
0 0 v217 Branch t215 goto (B47, B45) (None) type:Tagged pos:455 <|@
end_HIR
begin_LIR
556 label () () () () [hir:v214] <|@
558 gap () () () () [hir:v214] <|@
560 dummy-use = [rax|R] [hir:t215] <|@
562 gap () () () () [hir:t215] <|@
564 dummy-use = [constant:297] [hir:t215] <|@
566 gap () () () () [hir:t215] <|@
568 dummy-use [rbx|R]= [stack:0] [hir:t215] <|@
570 gap ((0) = [rbx|R];) () () () [hir:t215] <|@
572 gap () () () () [hir:v217] <|@
574 branch B47 | B45 on [rbx|R] [hir:v217] <|@
end_LIR
end_block
begin_block
name "B45"
from_bci -1
to_bci -1
predecessors "B44"
successors "B46"
xhandlers
flags "dead"
dominator "B44"
loop_depth 0
first_lir_id 576
last_lir_id 582
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v221 BlockEntry type:Tagged pos:455 <|@
0 0 v222 Simulate id=271 pop 1 type:Tagged pos:455 <|@
0 0 v223 Goto B46 type:Tagged pos:455 <|@
end_HIR
begin_LIR
576 label () () () () Dead block replaced with B46 [hir:v221] <|@
578 gap () () () () [hir:v221] <|@
580 gap () () () () [hir:v223] <|@
582 goto B46 [hir:v223] <|@
end_LIR
end_block
begin_block
name "B46"
from_bci -1
to_bci -1
predecessors "B45"
successors "B49"
xhandlers
flags "dead"
dominator "B45"
loop_depth 0
first_lir_id 584
last_lir_id 590
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v229 BlockEntry type:Tagged pos:450 <|@
0 0 v230 Simulate id=269 type:Tagged pos:450 <|@
0 0 v231 Goto B49 type:Tagged pos:450 <|@
end_HIR
begin_LIR
584 label () () () () Dead block replaced with B49 [hir:v229] <|@
586 gap () () () () [hir:v229] <|@
588 gap () ([rax|R];) () () [hir:v231] <|@
590 goto B49 [hir:v231] <|@
end_LIR
end_block
begin_block
name "B47"
from_bci -1
to_bci -1
predecessors "B44"
successors "B48"
xhandlers
flags "dead"
dominator "B44"
loop_depth 0
first_lir_id 592
last_lir_id 598
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v218 BlockEntry type:Tagged pos:455 <|@
0 0 v219 Simulate id=270 pop 1 / var[7] = t6 type:Tagged pos:455 <|@
0 0 v220 Goto B48 type:Tagged pos:455 <|@
end_HIR
begin_LIR
592 label () () () () Dead block replaced with B48 [hir:v218] <|@
594 gap () () () () [hir:v218] <|@
596 gap () () () () [hir:v220] <|@
598 goto B48 [hir:v220] <|@
end_LIR
end_block
begin_block
name "B48"
from_bci -1
to_bci -1
predecessors "B47"
successors "B49"
xhandlers
flags "dead"
dominator "B47"
loop_depth 0
first_lir_id 600
last_lir_id 606
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v224 BlockEntry type:Tagged pos:461 <|@
0 0 v227 Simulate id=269 var[7] = i121 type:Tagged pos:450 <|@
0 0 v228 Goto B49 type:Tagged pos:450 <|@
end_HIR
begin_LIR
600 label () () () () [hir:v224] <|@
602 gap () () () () [hir:v224] <|@
604 gap () ([rax|R] = [constant:297];) () () [hir:v228] <|@
606 goto B49 [hir:v228] <|@
end_LIR
end_block
begin_block
name "B49"
from_bci -1
to_bci -1
predecessors "B48" "B46"
successors "B50"
xhandlers
flags "dead"
dominator "B44"
loop_depth 0
first_lir_id 608
last_lir_id 614
begin_states
begin_locals
size 1
method "None"
7 t232 [ t297 t191 uses:4_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v233 BlockEntry type:Tagged pos:467 <|@
0 0 v236 Deoptimize goto (B50) type:Tagged pos:469 <|@
end_HIR
begin_LIR
608 label () ((0) = [rax|R];) () () [hir:v233] <|@
610 gap () () () () [hir:v233] <|@
612 gap () () () () [hir:v236] <|@
614 deoptimize = [id=269|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[stack:3];[rax|R];[constant:6]] [hir:v236] <|@
end_LIR
end_block
begin_block
name "B50"
from_bci -1
to_bci -1
predecessors "B49"
successors "B53" "B51"
xhandlers
flags "dead"
dominator "B49"
loop_depth 0
first_lir_id 616
last_lir_id 634
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v237 BlockEntry type:Tagged pos:469 <|@
0 2 t238 CompareGeneric GT t156 t232 changes[*] pos:469 <|@
0 0 v239 Simulate id=292 push t238 type:Tagged pos:469 <|@
0 0 v240 Branch t238 goto (B53, B51) (None) type:Tagged pos:469 <|@
end_HIR
begin_LIR
616 label () () () () [hir:v237] <|@
618 gap () () () () [hir:v237] <|@
620 dummy-use = [stack:3] [hir:t238] <|@
622 gap () () () () [hir:t238] <|@
624 dummy-use = [rax|R] [hir:t238] <|@
626 gap () () () () [hir:t238] <|@
628 dummy-use [rbx|R]= [stack:0] [hir:t238] <|@
630 gap ((0) = [rbx|R];) () () () [hir:t238] <|@
632 gap () () () () [hir:v240] <|@
634 branch B53 | B51 on [rbx|R] [hir:v240] <|@
end_LIR
end_block
begin_block
name "B51"
from_bci -1
to_bci -1
predecessors "B50"
successors "B52"
xhandlers
flags "dead"
dominator "B50"
loop_depth 0
first_lir_id 636
last_lir_id 642
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v244 BlockEntry type:Tagged pos:469 <|@
0 0 v245 Simulate id=291 pop 1 type:Tagged pos:469 <|@
0 0 v246 Goto B52 type:Tagged pos:469 <|@
end_HIR
begin_LIR
636 label () () () () Dead block replaced with B52 [hir:v244] <|@
638 gap () () () () [hir:v244] <|@
640 gap () () () () [hir:v246] <|@
642 goto B52 [hir:v246] <|@
end_LIR
end_block
begin_block
name "B52"
from_bci -1
to_bci -1
predecessors "B51"
successors "B55"
xhandlers
flags "dead"
dominator "B51"
loop_depth 0
first_lir_id 644
last_lir_id 650
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v256 BlockEntry type:Tagged pos:464 <|@
0 0 v257 Simulate id=289 type:Tagged pos:464 <|@
0 0 v258 Goto B55 type:Tagged pos:464 <|@
end_HIR
begin_LIR
644 label () () () () [hir:v256] <|@
646 gap () () () () [hir:v256] <|@
648 gap () ([rbx|R] = [stack:3]; [rax|R];) () () [hir:v258] <|@
650 goto B55 [hir:v258] <|@
end_LIR
end_block
begin_block
name "B53"
from_bci -1
to_bci -1
predecessors "B50"
successors "B54"
xhandlers
flags "dead"
dominator "B50"
loop_depth 0
first_lir_id 652
last_lir_id 658
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v241 BlockEntry type:Tagged pos:469 <|@
0 0 v242 Simulate id=290 pop 1 type:Tagged pos:469 <|@
0 0 v243 Goto B54 type:Tagged pos:469 <|@
end_HIR
begin_LIR
652 label () () () () Dead block replaced with B54 [hir:v241] <|@
654 gap () () () () [hir:v241] <|@
656 gap () () () () [hir:v243] <|@
658 goto B54 [hir:v243] <|@
end_LIR
end_block
begin_block
name "B54"
from_bci -1
to_bci -1
predecessors "B53"
successors "B55"
xhandlers
flags "dead"
dominator "B53"
loop_depth 0
first_lir_id 660
last_lir_id 666
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v247 BlockEntry type:Tagged pos:482 <|@
0 0 v254 Simulate id=289 var[8] = t6, var[7] = t156, var[6] = t232 type:Tagged pos:464 <|@
0 0 v255 Goto B55 type:Tagged pos:464 <|@
end_HIR
begin_LIR
660 label () () () () [hir:v247] <|@
662 gap () () () () [hir:v247] <|@
664 gap () ([rbx|R] = [rax|R]; [rax|R] = [stack:3];) () () [hir:v255] <|@
666 goto B55 [hir:v255] <|@
end_LIR
end_block
begin_block
name "B55"
from_bci -1
to_bci -1
predecessors "B54" "B52"
successors "B58"
xhandlers
flags "dead"
dominator "B50"
loop_depth 0
first_lir_id 668
last_lir_id 674
begin_states
begin_locals
size 2
method "None"
6 t259 [ t232 t156 uses:1_0s_0i_0d_0t type:Tagged]
7 t260 [ t156 t232 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v264 BlockEntry type:Tagged pos:425 <|@
0 0 v265 Simulate id=245 type:Tagged pos:425 <|@
0 0 v266 Goto B58 type:Tagged pos:425 <|@
end_HIR
begin_LIR
668 label () ((0) = [rbx|R]; (0) = [rax|R];) () () [hir:v264] <|@
670 gap () () () () [hir:v264] <|@
672 gap () ([rax|R] = [rbx|R]; [rbx|R] = [rax|R];) () () [hir:v266] <|@
674 goto B58 [hir:v266] <|@
end_LIR
end_block
begin_block
name "B56"
from_bci -1
to_bci -1
predecessors "B41"
successors "B57"
xhandlers
flags "dead"
dominator "B41"
loop_depth 0
first_lir_id 676
last_lir_id 682
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v201 BlockEntry type:Tagged pos:430 <|@
0 0 v202 Simulate id=246 pop 1 / var[7] = t6 type:Tagged pos:430 <|@
0 0 v203 Goto B57 type:Tagged pos:430 <|@
end_HIR
begin_LIR
676 label () () () () Dead block replaced with B57 [hir:v201] <|@
678 gap () () () () [hir:v201] <|@
680 gap () () () () [hir:v203] <|@
682 goto B57 [hir:v203] <|@
end_LIR
end_block
begin_block
name "B57"
from_bci -1
to_bci -1
predecessors "B56"
successors "B58"
xhandlers
flags "dead"
dominator "B56"
loop_depth 0
first_lir_id 684
last_lir_id 690
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v207 BlockEntry type:Tagged pos:439 <|@
0 0 v262 Simulate id=245 var[5] = t6, var[7] = i92 type:Tagged pos:425 <|@
0 0 v263 Goto B58 type:Tagged pos:425 <|@
end_HIR
begin_LIR
684 label () () () () [hir:v207] <|@
686 gap () () () () [hir:v207] <|@
688 gap () ([rax|R] = [stack:3]; [rbx|R];) () () [hir:v263] <|@
690 goto B58 [hir:v263] <|@
end_LIR
end_block
begin_block
name "B58"
from_bci -1
to_bci -1
predecessors "B57" "B55"
successors "B61"
xhandlers
flags "dead"
dominator "B41"
loop_depth 0
first_lir_id 692
last_lir_id 698
begin_states
begin_locals
size 2
method "None"
6 t267 [ t156 t259 uses:1_0s_0i_0d_0t type:Tagged]
7 t268 [ t292 t260 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v270 BlockEntry type:Tagged pos:346 <|@
0 0 v271 Simulate id=195 type:Tagged pos:346 <|@
0 0 v272 Goto B61 type:Tagged pos:346 <|@
end_HIR
begin_LIR
692 label () ((0) = [rax|R]; (0) = [rbx|R];) () () Dead block replaced with B61 [hir:v270] <|@
694 gap () () () () [hir:v270] <|@
696 gap () ([rax|R]; [rbx|R];) () () [hir:v272] <|@
698 goto B61 [hir:v272] <|@
end_LIR
end_block
begin_block
name "B59"
from_bci -1
to_bci -1
predecessors "B33"
successors "B60"
xhandlers
flags
dominator "B33"
loop_depth 0
first_lir_id 700
last_lir_id 706
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v161 BlockEntry type:Tagged pos:352 <|@
0 0 v162 Simulate id=197 var[5] = t6, var[7] = i92 type:Tagged pos:352 <|@
0 0 v163 Goto B60 type:Tagged pos:352 <|@
end_HIR
begin_LIR
700 label () () () () Dead block replaced with B60 [hir:v161] <|@
702 gap () () () () [hir:v161] <|@
704 gap () () () () [hir:v163] <|@
706 goto B60 [hir:v163] <|@
end_LIR
end_block
begin_block
name "B60"
from_bci -1
to_bci -1
predecessors "B59"
successors "B61"
xhandlers
flags
dominator "B59"
loop_depth 0
first_lir_id 708
last_lir_id 718
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v273 BlockEntry type:Tagged pos:346 <|@
0 0 v274 Simulate id=195 type:Tagged pos:346 <|@
0 1 t290 Change i92 i to t pos:525 <|@
0 0 v275 Goto B61 type:Tagged pos:346 <|@
end_HIR
begin_LIR
708 label () () () () [hir:v273] <|@
710 gap () () ([rax|R] = [stack:2];) () [hir:v273] <|@
712 smi-tag [rbx|R]= [rax|R] [hir:t290] <|@
714 gap ((0) = [rbx|R];) () () () [hir:t290] <|@
716 gap () ([rax|R] = [stack:3]; [rbx|R];) () () [hir:v275] <|@
718 goto B61 [hir:v275] <|@
end_LIR
end_block
begin_block
name "B61"
from_bci -1
to_bci -1
predecessors "B58" "B60"
successors
xhandlers
flags
dominator "B33"
loop_depth 0
first_lir_id 720
last_lir_id 746
begin_states
begin_locals
size 2
method "None"
6 t276 [ t267 t156 uses:1_0s_0i_0d_0t type:Tagged]
7 t277 [ t268 t290 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v279 BlockEntry type:Tagged pos:525 <|@
0 0 t283 PushArguments t86 t276 t277 type:Tagged pos:513 <|@
0 2 t284 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:513 <|@
0 0 v285 Simulate id=329 var[4] = t6, var[6] = t6, var[7] = t6, push t284 type:Tagged pos:513 <|@
0 1 s299 Constant 2 type:Smi pos:506 <|@
0 0 v287 Return t284 (pop s299 values) type:Tagged pos:506 <|@
end_HIR
begin_LIR
720 label () ((0) = [rax|R]; (0) = [rbx|R];) () () [hir:v279] <|@
722 gap () () () () [hir:v279] <|@
724 push-argument = [stack:1] [hir:t283] <|@
726 gap () () () () [hir:t283] <|@
728 push-argument = [rax|R] [hir:t283] <|@
730 gap () () () () [hir:t283] <|@
732 push-argument = [rbx|R] [hir:t283] <|@
734 gap () ([rsi|R] = [stack:0];) () () [hir:t283] <|@
736 call-stub [rax|R]= [rsi|R] {[rsi|R];[stack:0]} [hir:t284] <|@
738 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t284] <|@
740 lazy-bailout = [id=329|deopt_id=11|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v285] <|@
742 gap () ([rax|R];) () () [hir:v285] <|@
744 return = [rax|R] NULL [constant:299] [hir:v287] <|@
746 gap () () () () [hir:v287] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "indexOf"
method "indexOf:9"
date 1432461309000
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 t12 Constant 0x315a30704181 <false> [map 0x3f3d148044c9] <|@
0 9 t5 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 11 t1 Context type:Tagged <|@
0 10 t2 Parameter 0 type:Tagged <|@
0 6 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: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 "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 0 v13 Branch t12 goto (B3, B2) (Bool) type:Tagged pos:13 <|@
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];[constant:5];[constant:5]] {[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];[constant:5];[constant:5]] [hir:v10] <|@
30 gap () () () () [hir:v10] <|@
32 gap () () () () [hir:v13] <|@
34 goto B2 [hir:v13] <|@
end_LIR
end_block
begin_block
name "B2"
from_bci -1
to_bci -1
predecessors "B1"
successors "B8"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 36
last_lir_id 50
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v14 BlockEntry type:Tagged pos:13 <|@
0 0 t15 CheckHeapObject t2 pos:13 <|@
0 0 t16 CheckMaps t2 [0x3f3d14804941] pos:13 <|@
0 0 v20 Simulate id=10 type:Tagged pos:13 <|@
0 0 v21 Goto B8 type:Tagged pos:13 <|@
end_HIR
begin_LIR
36 label () () () () [hir:v14] <|@
38 gap () () ([rax|R] = [stack:-2];) () [hir:v14] <|@
40 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[rax|R];[stack:-1];[stack:0];[constant:5];[constant:5]] [hir:t15] <|@
42 gap () () () () [hir:t15] <|@
44 check-maps = [rax|R] [id=3|deopt_id=2|parameters=2|arguments_stack_height=0|[rax|R];[stack:-1];[stack:0];[constant:5];[constant:5]] [hir:t16] <|@
46 gap () () () () [hir:t16] <|@
48 gap () () () () [hir:v21] <|@
50 goto B8 [hir:v21] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B1"
successors "B4"
xhandlers
flags "dead"
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 v17 BlockEntry type:Tagged pos:13 <|@
0 0 v18 Simulate id=13 type:Tagged pos:13 <|@
0 0 v19 Goto B4 type:Tagged pos:13 <|@
end_HIR
begin_LIR
52 label () ([rax|R] = [stack:-2];) () () [hir:v17] <|@
54 gap () () () () [hir:v17] <|@
56 gap () () () () [hir:v19] <|@
58 goto B4 [hir:v19] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B3"
successors "B7" "B5"
xhandlers
flags "dead"
dominator "B3"
loop_depth 0
first_lir_id 60
last_lir_id 66
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v22 BlockEntry type:Tagged pos:24 <|@
0 0 v23 IsUndetectableAndBranch t2 goto (B7, B5) type:Tagged pos:24 <|@
end_HIR
begin_LIR
60 label () () () () [hir:v22] <|@
62 gap () () () () [hir:v22] <|@
64 gap () () () () [hir:v23] <|@
66 is-undetectable-and-branch if is_undetectable([rax|R]) then B7 else B5 [hir:v23] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B4"
successors "B6"
xhandlers
flags "dead"
dominator "B4"
loop_depth 0
first_lir_id 68
last_lir_id 74
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v27 BlockEntry type:Tagged pos:24 <|@
0 0 v28 Simulate id=9 type:Tagged pos:24 <|@
0 0 v29 Goto B6 type:Tagged pos:24 <|@
end_HIR
begin_LIR
68 label () () () () Dead block replaced with B6 [hir:v27] <|@
70 gap () () () () [hir:v27] <|@
72 gap () () () () [hir:v29] <|@
74 goto B6 [hir:v29] <|@
end_LIR
end_block
begin_block
name "B6"
from_bci -1
to_bci -1
predecessors "B5"
successors
xhandlers
flags "dead"
dominator "B5"
loop_depth 0
first_lir_id 76
last_lir_id 170
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v30 BlockEntry type:Tagged pos:60 <|@
0 1 t31 Constant 0x315a30797b41 <JS Function MakeTypeError (SharedFunctionInfo 0x315a3074de69)> pos:60 <|@
0 1 t32 Constant 0x171db9924999 <String[27]: called_on_null_or_undefined> [map 0x3f3d14804261] pos:74 <|@
0 1 i33 Constant 32 type:Smi [noOSE] pos:104 <|@
0 11 t34 Allocate i33 (N) changes[NewSpacePromotion] [noOSE] pos:104 <|@
0 2 t35 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:104 <|@
0 0 v36 StoreNamedField t34.%elements@16 = t35 changes[ElementsPointer] type:Tagged [noOSE] pos:104 <|@
0 1 t37 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:104 <|@
0 0 v38 StoreNamedField t34.%map@0 = t37 changes[Maps] type:Tagged [noOSE] pos:104 <|@
0 0 v40 StoreNamedField t34.[in-object]@8 = t35 changes[InobjectFields] type:Tagged [noOSE] pos:104 <|@
0 1 s219 Constant 1 type:Smi pos:104 <|@
0 0 v42 StoreNamedField t34.%length@24 = s219 changes[ArrayLengths] type:Tagged [noOSE] pos:104 <|@
0 1 t43 Constant 0x1b02260df909 <FixedArray[1]> [map 0x3f3d148047e1] [new space] [noOSE] pos:104 <|@
0 0 v44 StoreNamedField t34.%elements@16 = t43 changes[ElementsPointer] type:Tagged [noOSE] pos:104 <|@
0 1 t47 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:60 <|@
0 0 t48 PushArguments t47 t32 t34 type:Tagged pos:60 <|@
0 2 t50 CallJSFunction t31 #3 changes[*] type:Tagged pos:60 <|@
0 0 v51 Simulate id=34 push t50 type:Tagged pos:60 <|@
0 0 t52 PushArguments t50 type:Tagged pos:54 <|@
0 0 t53 CallRuntime #1 changes[*] type:Tagged pos:54 <|@
0 0 v54 Simulate id=32 pop 1 type:Tagged pos:54 <|@
0 0 v55 AbnormalExit goto () type:Tagged pos:54 <|@
end_HIR
begin_LIR
76 label () () () () [hir:v30] <|@
78 gap () () () () [hir:v30] <|@
80 dummy-use = [constant:33] [hir:t34] <|@
82 gap () () () () [hir:t34] <|@
84 dummy-use [rax|R]= [stack:0] [hir:t34] <|@
86 gap ((0) = [rax|R];) () () () [hir:t34] <|@
88 dummy-use = [constant:35] [hir:v36] <|@
90 gap () () () () [hir:v36] <|@
92 dummy-use = [rax|R] [hir:v36] <|@
94 gap () () () () [hir:v36] <|@
96 dummy-use [rbx|R]= [rax|R] [hir:v36] <|@
98 gap ((0) = [rbx|R];) () () () [hir:v36] <|@
100 dummy-use = [constant:37] [hir:v38] <|@
102 gap () () () () [hir:v38] <|@
104 dummy-use = [rax|R] [hir:v38] <|@
106 gap () () () () [hir:v38] <|@
108 dummy-use [rbx|R]= [rax|R] [hir:v38] <|@
110 gap ((0) = [rbx|R];) () () () [hir:v38] <|@
112 dummy-use = [constant:35] [hir:v40] <|@
114 gap () () () () [hir:v40] <|@
116 dummy-use = [rax|R] [hir:v40] <|@
118 gap () () () () [hir:v40] <|@
120 dummy-use [rbx|R]= [rax|R] [hir:v40] <|@
122 gap ((0) = [rbx|R];) () () () [hir:v40] <|@
124 dummy-use = [constant:219] [hir:v42] <|@
126 gap () () () () [hir:v42] <|@
128 dummy-use = [rax|R] [hir:v42] <|@
130 gap () () () () [hir:v42] <|@
132 dummy-use [rbx|R]= [rax|R] [hir:v42] <|@
134 gap ((0) = [rbx|R];) () () () [hir:v42] <|@
136 dummy-use = [constant:43] [hir:v44] <|@
138 gap () () () () [hir:v44] <|@
140 dummy-use = [rax|R] [hir:v44] <|@
142 gap () () () () [hir:v44] <|@
144 dummy-use [rbx|R]= [rax|R] [hir:v44] <|@
146 gap ((0) = [rbx|R];) () () () [hir:v44] <|@
148 dummy-use = [constant:32] [hir:t48] <|@
150 gap () () () () [hir:t48] <|@
152 dummy-use = [rax|R] [hir:t48] <|@
154 gap () () () () [hir:t48] <|@
156 dummy-use [rax|R]= [constant:47] [hir:t48] <|@
158 gap ((0) = [rax|R];) () () () [hir:t48] <|@
160 dummy-use [rax|R]= [constant:31] [hir:t50] <|@
162 gap ((0) = [rax|R];) () () () [hir:t50] <|@
164 dummy-use [rbx|R]= [rax|R] [hir:t52] <|@
166 gap ((0) = [rbx|R];) () () () [hir:t52] <|@
168 dummy-use [rax|R]= [stack:0] [hir:t53] <|@
170 gap ((0) = [rax|R];) () () () [hir:t53] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B4"
successors "B8"
xhandlers
flags "dead"
dominator "B4"
loop_depth 0
first_lir_id 172
last_lir_id 178
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v24 BlockEntry type:Tagged pos:24 <|@
0 0 v25 Simulate id=10 type:Tagged pos:24 <|@
0 0 v26 Goto B8 type:Tagged pos:24 <|@
end_HIR
begin_LIR
172 label () () () () Dead block replaced with B8 [hir:v24] <|@
174 gap () () () () [hir:v24] <|@
176 gap () () () () [hir:v26] <|@
178 goto B8 [hir:v26] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B2" "B7"
successors "B11" "B9"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 180
last_lir_id 186
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v56 BlockEntry type:Tagged pos:164 <|@
0 0 v57 TypeofIsAndBranch t2 == string goto (B11, B9) type:Tagged pos:164 <|@
end_HIR
begin_LIR
180 label () () () () [hir:v56] <|@
182 gap () () () () [hir:v56] <|@
184 gap () ([rbx|R] = [rax|R];) () () [hir:v57] <|@
186 typeof-is-and-branch if typeof [rbx|R] == "string" then B11 else B9 [hir:v57] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B10"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 188
last_lir_id 194
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v61 BlockEntry type:Tagged pos:164 <|@
0 0 v62 Simulate id=62 type:Tagged pos:164 <|@
0 0 v63 Goto B10 type:Tagged pos:164 <|@
end_HIR
begin_LIR
188 label () () () () Dead block replaced with B10 [hir:v61] <|@
190 gap () () () () [hir:v61] <|@
192 gap () () () () [hir:v63] <|@
194 goto B10 [hir:v63] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9"
successors "B13"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 196
last_lir_id 222
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v64 BlockEntry type:Tagged pos:182 <|@
0 1 t65 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:182 <|@
0 1 t67 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:182 <|@
0 0 t68 PushArguments t67 t2 type:Tagged pos:182 <|@
0 2 t70 CallJSFunction t65 #2 changes[*] type:Tagged pos:182 <|@
0 0 v71 Simulate id=77 push t70 type:Tagged pos:182 <|@
0 0 v75 Simulate id=59 type:Tagged pos:142 <|@
0 0 v76 Goto B13 type:Tagged pos:142 <|@
end_HIR
begin_LIR
196 label () () () () [hir:v64] <|@
198 gap () () () () [hir:v64] <|@
200 push-argument = [constant:67] [hir:t68] <|@
202 gap () () () () [hir:t68] <|@
204 push-argument = [rax|R] [hir:t68] <|@
206 gap () () () () [hir:t68] <|@
208 constant-t [rdi|R]= [hir:t65] <|@
210 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t65] <|@
212 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0]} [hir:t70] <|@
214 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t70] <|@
216 lazy-bailout = [id=77|deopt_id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[constant:5];[constant:5];[rax|R]] [hir:v71] <|@
218 gap () () () () [hir:v71] <|@
220 gap () ([rax|R];) () () [hir:v76] <|@
222 goto B13 [hir:v76] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B8"
successors "B12"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 224
last_lir_id 230
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v58 BlockEntry type:Tagged pos:164 <|@
0 0 v59 Simulate id=61 type:Tagged pos:164 <|@
0 0 v60 Goto B12 type:Tagged pos:164 <|@
end_HIR
begin_LIR
224 label () () () () Dead block replaced with B12 [hir:v58] <|@
226 gap () () () () [hir:v58] <|@
228 gap () () () () [hir:v60] <|@
230 goto B12 [hir:v60] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B11"
successors "B13"
xhandlers
flags
dominator "B11"
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 v72 BlockEntry type:Tagged pos:142 <|@
0 0 v73 Simulate id=59 push t2 type:Tagged pos:142 <|@
0 0 v74 Goto B13 type:Tagged pos:142 <|@
end_HIR
begin_LIR
232 label () () () () [hir:v72] <|@
234 gap () () () () [hir:v72] <|@
236 gap () ([rax|R] = [stack:-2];) () () [hir:v74] <|@
238 goto B13 [hir:v74] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B12" "B10"
successors "B16" "B14"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 240
last_lir_id 246
begin_states
begin_locals
size 1
method "None"
5 t77 [ t2 t70 uses:5_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v78 BlockEntry type:Tagged pos:140 <|@
0 0 v80 TypeofIsAndBranch t3 == string goto (B16, B14) type:Tagged pos:230 <|@
end_HIR
begin_LIR
240 label () ([stack:1] = [rax|R];) () () [hir:v78] <|@
242 gap () () () () [hir:v78] <|@
244 gap () ([rbx|R] = [stack:-1];) () () [hir:v80] <|@
246 typeof-is-and-branch if typeof [rbx|R] == "string" then B16 else B14 [hir:v80] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B13"
successors "B15"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 248
last_lir_id 254
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v84 BlockEntry type:Tagged pos:230 <|@
0 0 v85 Simulate id=94 pop 1 / var[3] = t77 type:Tagged pos:230 <|@
0 0 v86 Goto B15 type:Tagged pos:230 <|@
end_HIR
begin_LIR
248 label () () () () Dead block replaced with B15 [hir:v84] <|@
250 gap () () () () [hir:v84] <|@
252 gap () () () () [hir:v86] <|@
254 goto B15 [hir:v86] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14"
successors "B18"
xhandlers
flags
dominator "B14"
loop_depth 0
first_lir_id 256
last_lir_id 282
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v87 BlockEntry type:Tagged pos:245 <|@
0 1 t88 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:245 <|@
0 1 t90 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:245 <|@
0 0 t91 PushArguments t90 t3 type:Tagged pos:245 <|@
0 2 t93 CallJSFunction t88 #2 changes[*] type:Tagged pos:245 <|@
0 0 v94 Simulate id=109 push t93 type:Tagged pos:245 <|@
0 0 v98 Simulate id=91 type:Tagged pos:211 <|@
0 0 v99 Goto B18 type:Tagged pos:211 <|@
end_HIR
begin_LIR
256 label () () () () [hir:v87] <|@
258 gap () () () () [hir:v87] <|@
260 push-argument = [constant:90] [hir:t91] <|@
262 gap () () ([rbx|R] = [stack:-1];) () [hir:t91] <|@
264 push-argument = [rbx|R] [hir:t91] <|@
266 gap () () () () [hir:t91] <|@
268 constant-t [rdi|R]= [hir:t88] <|@
270 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t88] <|@
272 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t93] <|@
274 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t93] <|@
276 lazy-bailout = [id=109|deopt_id=4|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:5];[rax|R]] [hir:v94] <|@
278 gap () () () () [hir:v94] <|@
280 gap () ([rax|R];) () () [hir:v99] <|@
282 goto B18 [hir:v99] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B13"
successors "B17"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 284
last_lir_id 290
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v81 BlockEntry type:Tagged pos:230 <|@
0 0 v82 Simulate id=93 pop 1 / var[3] = t77 type:Tagged pos:230 <|@
0 0 v83 Goto B17 type:Tagged pos:230 <|@
end_HIR
begin_LIR
284 label () () () () Dead block replaced with B17 [hir:v81] <|@
286 gap () () () () [hir:v81] <|@
288 gap () () () () [hir:v83] <|@
290 goto B17 [hir:v83] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B18"
xhandlers
flags
dominator "B16"
loop_depth 0
first_lir_id 292
last_lir_id 298
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v95 BlockEntry type:Tagged pos:211 <|@
0 0 v96 Simulate id=91 push t3 type:Tagged pos:211 <|@
0 0 v97 Goto B18 type:Tagged pos:211 <|@
end_HIR
begin_LIR
292 label () () () () [hir:v95] <|@
294 gap () () () () [hir:v95] <|@
296 gap () ([rax|R] = [stack:-1];) () () [hir:v97] <|@
298 goto B18 [hir:v97] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B17" "B15"
successors "B21" "B19"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 300
last_lir_id 314
begin_states
begin_locals
size 1
method "None"
5 t100 [ t3 t93 uses:3_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v101 BlockEntry type:Tagged pos:274 <|@
0 2 i102 Constant 0 type:Smi pos:274 <|@
0 2 t104 ArgumentsElements type:Tagged pos:280 <|@
0 3 i105 ArgumentsLength t104 type:Tagged pos:280 <|@
0 3 i106 Constant 1 type:Smi pos:300 <|@
0 0 i107 CompareNumericAndBranch GT i105 i106 goto (B21, B19) type:Tagged pos:299 <|@
end_HIR
begin_LIR
300 label () ([stack:2] = [rax|R];) () () [hir:v101] <|@
302 gap () () () () [hir:v101] <|@
304 arguments-elements [rbx|R]= [hir:t104] <|@
306 gap ((0) = [rbx|R];) () () () [hir:t104] <|@
308 arguments-length [rdx|R]= [rbx|R] [hir:i105] <|@
310 gap ((0) = [rdx|R];) () () () [hir:i105] <|@
312 gap () () () () [hir:i107] <|@
314 compare-numeric-and-branch if [rdx|R] > [constant:106] then B21 else B19 [hir:i107] <|@
end_LIR
end_block
begin_block
name "B19"
from_bci -1
to_bci -1
predecessors "B18"
successors "B20"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 316
last_lir_id 322
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v111 BlockEntry type:Tagged pos:299 <|@
0 0 v112 Simulate id=131 pop 1 / var[4] = i102, var[1] = t100 type:Tagged pos:299 <|@
0 0 v113 Goto B20 type:Tagged pos:299 <|@
end_HIR
begin_LIR
316 label () () () () Dead block replaced with B20 [hir:v111] <|@
318 gap () () () () [hir:v111] <|@
320 gap () () () () [hir:v113] <|@
322 goto B20 [hir:v113] <|@
end_LIR
end_block
begin_block
name "B20"
from_bci -1
to_bci -1
predecessors "B19"
successors "B42"
xhandlers
flags
dominator "B19"
loop_depth 0
first_lir_id 324
last_lir_id 330
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v206 BlockEntry type:Tagged pos:277 <|@
0 0 v207 Simulate id=129 type:Tagged pos:277 <|@
0 1 t220 Constant 0 pos:277 <|@
0 0 v208 Goto B42 type:Tagged pos:277 <|@
end_HIR
begin_LIR
324 label () () () () [hir:v206] <|@
326 gap () () () () [hir:v206] <|@
328 gap () ([rax|R] = [constant:220];) () () [hir:v208] <|@
330 goto B42 [hir:v208] <|@
end_LIR
end_block
begin_block
name "B21"
from_bci -1
to_bci -1
predecessors "B18"
successors "B22"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 332
last_lir_id 338
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v108 BlockEntry type:Tagged pos:299 <|@
0 0 v109 Simulate id=130 pop 1 / var[4] = t5, var[1] = t100 type:Tagged pos:299 <|@
0 0 v110 Goto B22 type:Tagged pos:299 <|@
end_HIR
begin_LIR
332 label () () () () Dead block replaced with B22 [hir:v108] <|@
334 gap () () () () [hir:v108] <|@
336 gap () () () () [hir:v110] <|@
338 goto B22 [hir:v110] <|@
end_LIR
end_block
begin_block
name "B22"
from_bci -1
to_bci -1
predecessors "B21"
successors "B25" "B23"
xhandlers
flags
dominator "B21"
loop_depth 0
first_lir_id 340
last_lir_id 358
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v114 BlockEntry type:Tagged pos:318 <|@
0 0 i118 BoundsCheck i106 i105 type:Tagged pos:306 <|@
0 6 t119 AccessArgumentsAt t104[i106], length i105 type:Tagged pos:306 <|@
0 0 t122 IsSmiAndBranch t119 goto (B25, B23) type:Tagged pos:325 <|@
end_HIR
begin_LIR
340 label () () () () [hir:v114] <|@
342 gap () () () () [hir:v114] <|@
344 bounds-check = [constant:106] [rdx|R] [id=130|deopt_id=5|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0];[stack:1];[constant:5]] [hir:i118] <|@
346 gap () () () () [hir:i118] <|@
348 constant-i [rcx|R]= [hir:i106] <|@
350 gap ((0) = [rcx|R];) ([rdx|R];) () () [hir:i106] <|@
352 access-arguments-at [rsi|R][rbx|R] length [rdx|R] index [rcx|R] [hir:t119] <|@
354 gap ((0) = [rsi|R];) () () () [hir:t119] <|@
356 gap () () () () [hir:t122] <|@
358 is-smi-and-branch if is_smi([rsi|R]) then B25 else B23 [hir:t122] <|@
end_LIR
end_block
begin_block
name "B23"
from_bci -1
to_bci -1
predecessors "B22"
successors "B24"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 360
last_lir_id 366
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v126 BlockEntry type:Tagged pos:325 <|@
0 0 v127 Simulate id=165 var[4] = t119 type:Tagged pos:325 <|@
0 0 v128 Goto B24 type:Tagged pos:325 <|@
end_HIR
begin_LIR
360 label () () () () Dead block replaced with B24 [hir:v126] <|@
362 gap () () () () [hir:v126] <|@
364 gap () () () () [hir:v128] <|@
366 goto B24 [hir:v128] <|@
end_LIR
end_block
begin_block
name "B24"
from_bci -1
to_bci -1
predecessors "B23"
successors "B27"
xhandlers
flags
dominator "B23"
loop_depth 0
first_lir_id 368
last_lir_id 406
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v131 BlockEntry type:Tagged pos:364 <|@
0 1 t132 Constant 0x315a30792469 <JS Function ToNumber (SharedFunctionInfo 0x315a30749159)> pos:364 <|@
0 1 t135 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:364 <|@
0 0 t136 PushArguments t135 t119 type:Tagged pos:364 <|@
0 2 t138 CallJSFunction t132 #2 changes[*] type:Tagged pos:364 <|@
0 0 v139 Simulate id=176 var[4] = t5, push t138 type:Tagged pos:364 <|@
0 0 t140 PushArguments t138 type:Tagged pos:347 <|@
0 2 t141 CallRuntime NumberToInteger #1 changes[*] type:Tagged pos:347 <|@
0 0 v142 Simulate id=173 pop 1 / push t141 type:Tagged pos:347 <|@
0 0 v145 Simulate id=162 type:Tagged pos:325 <|@
0 0 v146 Goto B27 type:Tagged pos:325 <|@
end_HIR
begin_LIR
368 label () () () () [hir:v131] <|@
370 gap () () () () [hir:v131] <|@
372 push-argument = [constant:135] [hir:t136] <|@
374 gap () () () () [hir:t136] <|@
376 push-argument = [rsi|R] [hir:t136] <|@
378 gap () () () () [hir:t136] <|@
380 constant-t [rdi|R]= [hir:t132] <|@
382 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t132] <|@
384 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1];[stack:2]} [hir:t138] <|@
386 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t138] <|@
388 lazy-bailout = [id=176|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[constant:5];[rax|R]] [hir:v139] <|@
390 gap () () () () [hir:v139] <|@
392 push-argument = [rax|R] [hir:t140] <|@
394 gap () ([rsi|R] = [stack:0];) () () [hir:t140] <|@
396 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:1];[stack:2]} [hir:t141] <|@
398 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t141] <|@
400 lazy-bailout = [id=173|deopt_id=7|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[constant:5];[rax|R]] [hir:v142] <|@
402 gap () () () () [hir:v142] <|@
404 gap () ([rsi|R] = [rax|R];) () () [hir:v146] <|@
406 goto B27 [hir:v146] <|@
end_LIR
end_block
begin_block
name "B25"
from_bci -1
to_bci -1
predecessors "B22"
successors "B26"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 408
last_lir_id 414
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v123 BlockEntry type:Tagged pos:325 <|@
0 0 v124 Simulate id=164 var[4] = t119 type:Tagged pos:325 <|@
0 0 v125 Goto B26 type:Tagged pos:325 <|@
end_HIR
begin_LIR
408 label () () () () Dead block replaced with B26 [hir:v123] <|@
410 gap () () () () [hir:v123] <|@
412 gap () () () () [hir:v125] <|@
414 goto B26 [hir:v125] <|@
end_LIR
end_block
begin_block
name "B26"
from_bci -1
to_bci -1
predecessors "B25"
successors "B27"
xhandlers
flags
dominator "B25"
loop_depth 0
first_lir_id 416
last_lir_id 422
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v129 BlockEntry type:Tagged pos:345 <|@
0 0 v143 Simulate id=162 var[4] = t5, push t119 type:Tagged pos:325 <|@
0 0 v144 Goto B27 type:Tagged pos:325 <|@
end_HIR
begin_LIR
416 label () () () () Dead block replaced with B27 [hir:v129] <|@
418 gap () () () () [hir:v129] <|@
420 gap () ([rsi|R];) () () [hir:v144] <|@
422 goto B27 [hir:v144] <|@
end_LIR
end_block
begin_block
name "B27"
from_bci -1
to_bci -1
predecessors "B26" "B24"
successors "B28"
xhandlers
flags
dominator "B22"
loop_depth 0
first_lir_id 424
last_lir_id 430
begin_states
begin_locals
size 1
method "None"
5 t147 [ t119 t141 uses:3_0s_0i_0d_2t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v148 BlockEntry type:Tagged pos:323 <|@
0 0 v152 Deoptimize goto (B28) type:Tagged pos:383 <|@
end_HIR
begin_LIR
424 label () ((0) = [rsi|R];) () () [hir:v148] <|@
426 gap () () () () [hir:v148] <|@
428 gap () () () () [hir:v152] <|@
430 deoptimize = [id=162|deopt_id=8|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[constant:5];[rsi|R]] [hir:v152] <|@
end_LIR
end_block
begin_block
name "B28"
from_bci -1
to_bci -1
predecessors "B27"
successors "B31" "B29"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 432
last_lir_id 450
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v153 BlockEntry type:Tagged pos:383 <|@
0 2 t221 Constant 0 pos:383 <|@
0 2 t154 CompareGeneric LT t147 t221 changes[*] pos:383 <|@
0 0 v155 Simulate id=187 pop 1 / var[4] = t147, push t154 type:Tagged pos:383 <|@
0 0 v156 Branch t154 goto (B31, B29) (None) type:Tagged pos:383 <|@
end_HIR
begin_LIR
432 label () () () () [hir:v153] <|@
434 gap () () () () [hir:v153] <|@
436 dummy-use = [rsi|R] [hir:t154] <|@
438 gap () () () () [hir:t154] <|@
440 dummy-use = [constant:221] [hir:t154] <|@
442 gap () () () () [hir:t154] <|@
444 dummy-use [rax|R]= [stack:0] [hir:t154] <|@
446 gap ((0) = [rax|R];) () () () [hir:t154] <|@
448 gap () () () () [hir:v156] <|@
450 branch B31 | B29 on [rax|R] [hir:v156] <|@
end_LIR
end_block
begin_block
name "B29"
from_bci -1
to_bci -1
predecessors "B28"
successors "B30"
xhandlers
flags "dead"
dominator "B28"
loop_depth 0
first_lir_id 452
last_lir_id 458
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v160 BlockEntry type:Tagged pos:383 <|@
0 0 v161 Simulate id=186 pop 1 type:Tagged pos:383 <|@
0 0 v162 Goto B30 type:Tagged pos:383 <|@
end_HIR
begin_LIR
452 label () () () () Dead block replaced with B30 [hir:v160] <|@
454 gap () () () () [hir:v160] <|@
456 gap () () () () [hir:v162] <|@
458 goto B30 [hir:v162] <|@
end_LIR
end_block
begin_block
name "B30"
from_bci -1
to_bci -1
predecessors "B29"
successors "B33"
xhandlers
flags "dead"
dominator "B29"
loop_depth 0
first_lir_id 460
last_lir_id 466
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v168 BlockEntry type:Tagged pos:379 <|@
0 0 v169 Simulate id=184 type:Tagged pos:379 <|@
0 0 v170 Goto B33 type:Tagged pos:379 <|@
end_HIR
begin_LIR
460 label () () () () [hir:v168] <|@
462 gap () () () () [hir:v168] <|@
464 gap () ([rax|R] = [rsi|R];) () () [hir:v170] <|@
466 goto B33 [hir:v170] <|@
end_LIR
end_block
begin_block
name "B31"
from_bci -1
to_bci -1
predecessors "B28"
successors "B32"
xhandlers
flags "dead"
dominator "B28"
loop_depth 0
first_lir_id 468
last_lir_id 474
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v157 BlockEntry type:Tagged pos:383 <|@
0 0 v158 Simulate id=185 pop 1 / var[4] = t5 type:Tagged pos:383 <|@
0 0 v159 Goto B32 type:Tagged pos:383 <|@
end_HIR
begin_LIR
468 label () () () () Dead block replaced with B32 [hir:v157] <|@
470 gap () () () () [hir:v157] <|@
472 gap () () () () [hir:v159] <|@
474 goto B32 [hir:v159] <|@
end_LIR
end_block
begin_block
name "B32"
from_bci -1
to_bci -1
predecessors "B31"
successors "B33"
xhandlers
flags "dead"
dominator "B31"
loop_depth 0
first_lir_id 476
last_lir_id 482
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v163 BlockEntry type:Tagged pos:388 <|@
0 0 v166 Simulate id=184 var[4] = i102 type:Tagged pos:379 <|@
0 0 v167 Goto B33 type:Tagged pos:379 <|@
end_HIR
begin_LIR
476 label () () () () [hir:v163] <|@
478 gap () () () () [hir:v163] <|@
480 gap () ([rax|R] = [constant:221];) () () [hir:v167] <|@
482 goto B33 [hir:v167] <|@
end_LIR
end_block
begin_block
name "B33"
from_bci -1
to_bci -1
predecessors "B32" "B30"
successors "B34"
xhandlers
flags "dead"
dominator "B28"
loop_depth 0
first_lir_id 484
last_lir_id 490
begin_states
begin_locals
size 1
method "None"
4 t171 [ t221 t147 uses:3_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v172 BlockEntry type:Tagged pos:394 <|@
0 0 v175 Deoptimize goto (B34) type:Tagged pos:397 <|@
end_HIR
begin_LIR
484 label () ((0) = [rax|R];) () () [hir:v172] <|@
486 gap () () () () [hir:v172] <|@
488 gap () () () () [hir:v175] <|@
490 deoptimize = [id=184|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[rax|R]] [hir:v175] <|@
end_LIR
end_block
begin_block
name "B34"
from_bci -1
to_bci -1
predecessors "B33"
successors "B35"
xhandlers
flags "dead"
dominator "B33"
loop_depth 0
first_lir_id 492
last_lir_id 506
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v176 BlockEntry type:Tagged pos:397 <|@
0 2 t177 LoadNamedGeneric t77.length changes[*] type:Tagged pos:397 <|@
0 0 v178 Simulate id=212 push t171, push t177 type:Tagged pos:397 <|@
0 0 v179 Deoptimize goto (B35) type:Tagged pos:395 <|@
end_HIR
begin_LIR
492 label () () () () [hir:v176] <|@
494 gap () () () () [hir:v176] <|@
496 dummy-use = [stack:1] [hir:t177] <|@
498 gap () () () () [hir:t177] <|@
500 dummy-use [rbx|R]= [stack:0] [hir:t177] <|@
502 gap ((0) = [rbx|R];) () () () [hir:t177] <|@
504 gap () () () () [hir:v179] <|@
506 deoptimize = [id=212|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[rax|R];[rax|R];[rbx|R]] [hir:v179] <|@
end_LIR
end_block
begin_block
name "B35"
from_bci -1
to_bci -1
predecessors "B34"
successors "B38" "B36"
xhandlers
flags "dead"
dominator "B34"
loop_depth 0
first_lir_id 508
last_lir_id 526
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v180 BlockEntry type:Tagged pos:395 <|@
0 2 t181 CompareGeneric GT t171 t177 changes[*] pos:395 <|@
0 0 v182 Simulate id=207 pop 2 / push t181 type:Tagged pos:395 <|@
0 0 v183 Branch t181 goto (B38, B36) (None) type:Tagged pos:395 <|@
end_HIR
begin_LIR
508 label () () () () [hir:v180] <|@
510 gap () () () () [hir:v180] <|@
512 dummy-use = [rax|R] [hir:t181] <|@
514 gap () () () () [hir:t181] <|@
516 dummy-use = [rbx|R] [hir:t181] <|@
518 gap () () () () [hir:t181] <|@
520 dummy-use [rbx|R]= [stack:0] [hir:t181] <|@
522 gap ((0) = [rbx|R];) () () () [hir:t181] <|@
524 gap () () () () [hir:v183] <|@
526 branch B38 | B36 on [rbx|R] [hir:v183] <|@
end_LIR
end_block
begin_block
name "B36"
from_bci -1
to_bci -1
predecessors "B35"
successors "B37"
xhandlers
flags "dead"
dominator "B35"
loop_depth 0
first_lir_id 528
last_lir_id 534
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v187 BlockEntry type:Tagged pos:395 <|@
0 0 v188 Simulate id=206 pop 1 type:Tagged pos:395 <|@
0 0 v189 Goto B37 type:Tagged pos:395 <|@
end_HIR
begin_LIR
528 label () () () () Dead block replaced with B37 [hir:v187] <|@
530 gap () () () () [hir:v187] <|@
532 gap () () () () [hir:v189] <|@
534 goto B37 [hir:v189] <|@
end_LIR
end_block
begin_block
name "B37"
from_bci -1
to_bci -1
predecessors "B36"
successors "B41"
xhandlers
flags "dead"
dominator "B36"
loop_depth 0
first_lir_id 536
last_lir_id 542
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v199 BlockEntry type:Tagged pos:391 <|@
0 0 v200 Simulate id=204 type:Tagged pos:391 <|@
0 0 v201 Goto B41 type:Tagged pos:391 <|@
end_HIR
begin_LIR
536 label () () () () Dead block replaced with B41 [hir:v199] <|@
538 gap () () () () [hir:v199] <|@
540 gap () ([rax|R];) () () [hir:v201] <|@
542 goto B41 [hir:v201] <|@
end_LIR
end_block
begin_block
name "B38"
from_bci -1
to_bci -1
predecessors "B35"
successors "B39"
xhandlers
flags "dead"
dominator "B35"
loop_depth 0
first_lir_id 544
last_lir_id 550
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v184 BlockEntry type:Tagged pos:395 <|@
0 0 v185 Simulate id=205 pop 1 / var[4] = t5 type:Tagged pos:395 <|@
0 0 v186 Goto B39 type:Tagged pos:395 <|@
end_HIR
begin_LIR
544 label () () () () Dead block replaced with B39 [hir:v184] <|@
546 gap () () () () [hir:v184] <|@
548 gap () () () () [hir:v186] <|@
550 goto B39 [hir:v186] <|@
end_LIR
end_block
begin_block
name "B39"
from_bci -1
to_bci -1
predecessors "B38"
successors "B40"
xhandlers
flags "dead"
dominator "B38"
loop_depth 0
first_lir_id 552
last_lir_id 558
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v190 BlockEntry type:Tagged pos:407 <|@
0 0 v192 Deoptimize goto (B40) type:Tagged pos:408 <|@
end_HIR
begin_LIR
552 label () () () () [hir:v190] <|@
554 gap () () () () [hir:v190] <|@
556 gap () () () () [hir:v192] <|@
558 deoptimize = [id=205|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[stack:1];[constant:5]] [hir:v192] <|@
end_LIR
end_block
begin_block
name "B40"
from_bci -1
to_bci -1
predecessors "B39"
successors "B41"
xhandlers
flags "dead"
dominator "B39"
loop_depth 0
first_lir_id 560
last_lir_id 574
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v193 BlockEntry type:Tagged pos:408 <|@
0 3 t194 LoadNamedGeneric t77.length changes[*] type:Tagged pos:408 <|@
0 0 v195 Simulate id=227 push t194 type:Tagged pos:408 <|@
0 0 v197 Simulate id=204 pop 1 / var[4] = t194 type:Tagged pos:391 <|@
0 0 v198 Goto B41 type:Tagged pos:391 <|@
end_HIR
begin_LIR
560 label () () () () [hir:v193] <|@
562 gap () () () () [hir:v193] <|@
564 dummy-use = [stack:1] [hir:t194] <|@
566 gap () () () () [hir:t194] <|@
568 dummy-use [rax|R]= [stack:0] [hir:t194] <|@
570 gap ((0) = [rax|R];) () () () [hir:t194] <|@
572 gap () ([rax|R];) () () [hir:v198] <|@
574 goto B41 [hir:v198] <|@
end_LIR
end_block
begin_block
name "B41"
from_bci -1
to_bci -1
predecessors "B40" "B37"
successors "B42"
xhandlers
flags "dead"
dominator "B35"
loop_depth 0
first_lir_id 576
last_lir_id 582
begin_states
begin_locals
size 1
method "None"
4 t202 [ t194 t171 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v203 BlockEntry type:Tagged pos:277 <|@
0 0 v204 Simulate id=129 type:Tagged pos:277 <|@
0 0 v205 Goto B42 type:Tagged pos:277 <|@
end_HIR
begin_LIR
576 label () ((0) = [rax|R];) () () Dead block replaced with B42 [hir:v203] <|@
578 gap () () () () [hir:v203] <|@
580 gap () ([rax|R];) () () [hir:v205] <|@
582 goto B42 [hir:v205] <|@
end_LIR
end_block
begin_block
name "B42"
from_bci -1
to_bci -1
predecessors "B41" "B20"
successors
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 584
last_lir_id 610
begin_states
begin_locals
size 1
method "None"
4 t209 [ t202 t220 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v210 BlockEntry type:Tagged pos:441 <|@
0 0 t213 PushArguments t77 t100 t209 type:Tagged pos:426 <|@
0 2 t214 CallRuntime StringIndexOf #3 changes[*] type:Tagged pos:426 <|@
0 0 v215 Simulate id=236 var[3] = t5, var[4] = t5, push t214 type:Tagged pos:426 <|@
0 1 s223 Constant 1 type:Smi pos:419 <|@
0 0 v217 Return t214 (pop s223 values) type:Tagged pos:419 <|@
end_HIR
begin_LIR
584 label () ((0) = [rax|R];) () () [hir:v210] <|@
586 gap () () () () [hir:v210] <|@
588 push-argument = [stack:1] [hir:t213] <|@
590 gap () () () () [hir:t213] <|@
592 push-argument = [stack:2] [hir:t213] <|@
594 gap () () () () [hir:t213] <|@
596 push-argument = [rax|R] [hir:t213] <|@
598 gap () ([rsi|R] = [stack:0];) () () [hir:t213] <|@
600 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:2]} [hir:t214] <|@
602 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t214] <|@
604 lazy-bailout = [id=236|deopt_id=9|parameters=2|arguments_stack_height=0|[stack:-2];[stack:2];[stack:0];[constant:5];[constant:5];[rax|R]] [hir:v215] <|@
606 gap () ([rax|R];) () () [hir:v215] <|@
608 return = [rax|R] NULL [constant:223] [hir:v217] <|@
610 gap () () () () [hir:v217] <|@
end_LIR
end_block
end_cfg
begin_compilation
name "replace"
method "replace:10"
date 1432461309000
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 22
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v0 BlockEntry type:Tagged <|@
0 5 t169 Constant 0x315a30704101 <null> [map 0x3f3d148041b1] <|@
0 1 t13 Constant 0x315a30704181 <false> [map 0x3f3d148044c9] <|@
0 27 t6 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 68 t1 Context type:Tagged <|@
0 10 t2 Parameter 0 type:Tagged <|@
0 25 t3 Parameter 1 type:Tagged <|@
0 21 t4 Parameter 2 type:Tagged <|@
0 0 t5 ArgumentsObject t2 t3 t4 type:Tagged <|@
0 0 v7 Simulate id=2 var[12] = t6, var[11] = t6, var[10] = t6, var[9] = t6, var[8] = t6, var[7] = t6, var[6] = t6, var[5] = t6, var[4] = t6, var[3] = t1, var[2] = t4, var[1] = t3, var[0] = t2 type:Tagged <|@
0 0 v8 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:-3]= [hir:t2] <|@
10 gap () ([stack:-3];) () () [hir:t2] <|@
12 parameter [stack:-2]= [hir:t3] <|@
14 gap () ([stack:-2];) () () [hir:t3] <|@
16 parameter [stack:-1]= [hir:t4] <|@
18 gap () ([stack:-1];) () () [hir:t4] <|@
20 gap () () () () [hir:v8] <|@
22 goto B1 [hir:v8] <|@
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 24
last_lir_id 38
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v9 BlockEntry type:Tagged <|@
0 0 v10 Simulate id=3 type:Tagged <|@
0 0 v11 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@
0 0 v14 Branch t13 goto (B3, B2) (Bool) type:Tagged pos:15 <|@
end_HIR
begin_LIR
24 label () () () () [hir:v9] <|@
26 gap () ([rsi|R] = [rax|R];) () () [hir:v9] <|@
28 stack-check = [rsi|R] [id=3|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] {[rsi|R];[stack:0]} [hir:v11] <|@
30 gap () () () () [hir:v11] <|@
32 lazy-bailout = [id=3|deopt_id=0|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v11] <|@
34 gap () () () () [hir:v11] <|@
36 gap () () () () [hir:v14] <|@
38 goto B2 [hir:v14] <|@
end_LIR
end_block
begin_block
name "B2"
from_bci -1
to_bci -1
predecessors "B1"
successors "B8"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 40
last_lir_id 54
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v15 BlockEntry type:Tagged pos:15 <|@
0 0 t16 CheckHeapObject t2 pos:15 <|@
0 0 t17 CheckMaps t2 [0x3f3d14804261] pos:15 <|@
0 0 v21 Simulate id=24 type:Tagged pos:15 <|@
0 0 v22 Goto B8 type:Tagged pos:15 <|@
end_HIR
begin_LIR
40 label () () () () [hir:v15] <|@
42 gap () () ([rax|R] = [stack:-3];) () [hir:v15] <|@
44 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=3|arguments_stack_height=0|[rax|R];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:t16] <|@
46 gap () () () () [hir:t16] <|@
48 check-maps = [rax|R] [id=3|deopt_id=2|parameters=3|arguments_stack_height=0|[rax|R];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:t17] <|@
50 gap () () () () [hir:t17] <|@
52 gap () () () () [hir:v22] <|@
54 goto B8 [hir:v22] <|@
end_LIR
end_block
begin_block
name "B3"
from_bci -1
to_bci -1
predecessors "B1"
successors "B4"
xhandlers
flags "dead"
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 v18 BlockEntry type:Tagged pos:15 <|@
0 0 v19 Simulate id=27 type:Tagged pos:15 <|@
0 0 v20 Goto B4 type:Tagged pos:15 <|@
end_HIR
begin_LIR
56 label () ([rax|R] = [stack:-3];) () () [hir:v18] <|@
58 gap () () () () [hir:v18] <|@
60 gap () () () () [hir:v20] <|@
62 goto B4 [hir:v20] <|@
end_LIR
end_block
begin_block
name "B4"
from_bci -1
to_bci -1
predecessors "B3"
successors "B7" "B5"
xhandlers
flags "dead"
dominator "B3"
loop_depth 0
first_lir_id 64
last_lir_id 70
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v23 BlockEntry type:Tagged pos:26 <|@
0 0 v24 IsUndetectableAndBranch t2 goto (B7, B5) type:Tagged pos:26 <|@
end_HIR
begin_LIR
64 label () () () () [hir:v23] <|@
66 gap () () () () [hir:v23] <|@
68 gap () () () () [hir:v24] <|@
70 is-undetectable-and-branch if is_undetectable([rax|R]) then B7 else B5 [hir:v24] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B4"
successors "B6"
xhandlers
flags "dead"
dominator "B4"
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 v28 BlockEntry type:Tagged pos:26 <|@
0 0 v29 Simulate id=23 type:Tagged pos:26 <|@
0 0 v30 Goto B6 type:Tagged pos:26 <|@
end_HIR
begin_LIR
72 label () () () () Dead block replaced with B6 [hir:v28] <|@
74 gap () () () () [hir:v28] <|@
76 gap () () () () [hir:v30] <|@
78 goto B6 [hir:v30] <|@
end_LIR
end_block
begin_block
name "B6"
from_bci -1
to_bci -1
predecessors "B5"
successors
xhandlers
flags "dead"
dominator "B5"
loop_depth 0
first_lir_id 80
last_lir_id 174
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v31 BlockEntry type:Tagged pos:62 <|@
0 1 t32 Constant 0x315a30797b41 <JS Function MakeTypeError (SharedFunctionInfo 0x315a3074de69)> pos:62 <|@
0 1 t33 Constant 0x171db9924999 <String[27]: called_on_null_or_undefined> [map 0x3f3d14804261] pos:76 <|@
0 1 i34 Constant 32 type:Smi [noOSE] pos:106 <|@
0 11 t35 Allocate i34 (N) changes[NewSpacePromotion] [noOSE] pos:106 <|@
0 2 t36 Constant 0x171db9904111 <FixedArray[0]> [map 0x3f3d14804209] [noOSE] pos:106 <|@
0 0 v37 StoreNamedField t35.%elements@16 = t36 changes[ElementsPointer] type:Tagged [noOSE] pos:106 <|@
0 1 t38 Constant 0x3f3d14807179 <Map(elements=2)> [map 0x3f3d14804159] [noOSE] pos:106 <|@
0 0 v39 StoreNamedField t35.%map@0 = t38 changes[Maps] type:Tagged [noOSE] pos:106 <|@
0 0 v41 StoreNamedField t35.[in-object]@8 = t36 changes[InobjectFields] type:Tagged [noOSE] pos:106 <|@
0 1 s637 Constant 1 type:Smi pos:106 <|@
0 0 v43 StoreNamedField t35.%length@24 = s637 changes[ArrayLengths] type:Tagged [noOSE] pos:106 <|@
0 1 t44 Constant 0x1b02260ca4b1 <FixedArray[1]> [map 0x3f3d148047e1] [new space] [noOSE] pos:106 <|@
0 0 v45 StoreNamedField t35.%elements@16 = t44 changes[ElementsPointer] type:Tagged [noOSE] pos:106 <|@
0 1 t48 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:62 <|@
0 0 t49 PushArguments t48 t33 t35 type:Tagged pos:62 <|@
0 2 t51 CallJSFunction t32 #3 changes[*] type:Tagged pos:62 <|@
0 0 v52 Simulate id=48 push t51 type:Tagged pos:62 <|@
0 0 t53 PushArguments t51 type:Tagged pos:56 <|@
0 0 t54 CallRuntime #1 changes[*] type:Tagged pos:56 <|@
0 0 v55 Simulate id=46 pop 1 type:Tagged pos:56 <|@
0 0 v56 AbnormalExit goto () type:Tagged pos:56 <|@
end_HIR
begin_LIR
80 label () () () () [hir:v31] <|@
82 gap () () () () [hir:v31] <|@
84 dummy-use = [constant:34] [hir:t35] <|@
86 gap () () () () [hir:t35] <|@
88 dummy-use [rax|R]= [stack:0] [hir:t35] <|@
90 gap ((0) = [rax|R];) () () () [hir:t35] <|@
92 dummy-use = [constant:36] [hir:v37] <|@
94 gap () () () () [hir:v37] <|@
96 dummy-use = [rax|R] [hir:v37] <|@
98 gap () () () () [hir:v37] <|@
100 dummy-use [rbx|R]= [rax|R] [hir:v37] <|@
102 gap ((0) = [rbx|R];) () () () [hir:v37] <|@
104 dummy-use = [constant:38] [hir:v39] <|@
106 gap () () () () [hir:v39] <|@
108 dummy-use = [rax|R] [hir:v39] <|@
110 gap () () () () [hir:v39] <|@
112 dummy-use [rbx|R]= [rax|R] [hir:v39] <|@
114 gap ((0) = [rbx|R];) () () () [hir:v39] <|@
116 dummy-use = [constant:36] [hir:v41] <|@
118 gap () () () () [hir:v41] <|@
120 dummy-use = [rax|R] [hir:v41] <|@
122 gap () () () () [hir:v41] <|@
124 dummy-use [rbx|R]= [rax|R] [hir:v41] <|@
126 gap ((0) = [rbx|R];) () () () [hir:v41] <|@
128 dummy-use = [constant:637] [hir:v43] <|@
130 gap () () () () [hir:v43] <|@
132 dummy-use = [rax|R] [hir:v43] <|@
134 gap () () () () [hir:v43] <|@
136 dummy-use [rbx|R]= [rax|R] [hir:v43] <|@
138 gap ((0) = [rbx|R];) () () () [hir:v43] <|@
140 dummy-use = [constant:44] [hir:v45] <|@
142 gap () () () () [hir:v45] <|@
144 dummy-use = [rax|R] [hir:v45] <|@
146 gap () () () () [hir:v45] <|@
148 dummy-use [rbx|R]= [rax|R] [hir:v45] <|@
150 gap ((0) = [rbx|R];) () () () [hir:v45] <|@
152 dummy-use = [constant:33] [hir:t49] <|@
154 gap () () () () [hir:t49] <|@
156 dummy-use = [rax|R] [hir:t49] <|@
158 gap () () () () [hir:t49] <|@
160 dummy-use [rax|R]= [constant:48] [hir:t49] <|@
162 gap ((0) = [rax|R];) () () () [hir:t49] <|@
164 dummy-use [rax|R]= [constant:32] [hir:t51] <|@
166 gap ((0) = [rax|R];) () () () [hir:t51] <|@
168 dummy-use [rbx|R]= [rax|R] [hir:t53] <|@
170 gap ((0) = [rbx|R];) () () () [hir:t53] <|@
172 dummy-use [rax|R]= [stack:0] [hir:t54] <|@
174 gap ((0) = [rax|R];) () () () [hir:t54] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B4"
successors "B8"
xhandlers
flags "dead"
dominator "B4"
loop_depth 0
first_lir_id 176
last_lir_id 182
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v25 BlockEntry type:Tagged pos:26 <|@
0 0 v26 Simulate id=24 type:Tagged pos:26 <|@
0 0 v27 Goto B8 type:Tagged pos:26 <|@
end_HIR
begin_LIR
176 label () () () () Dead block replaced with B8 [hir:v25] <|@
178 gap () () () () [hir:v25] <|@
180 gap () () () () [hir:v27] <|@
182 goto B8 [hir:v27] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B2" "B7"
successors "B11" "B9"
xhandlers
flags
dominator "B1"
loop_depth 0
first_lir_id 184
last_lir_id 190
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v57 BlockEntry type:Tagged pos:166 <|@
0 0 v58 TypeofIsAndBranch t2 == string goto (B11, B9) type:Tagged pos:166 <|@
end_HIR
begin_LIR
184 label () () () () [hir:v57] <|@
186 gap () () () () [hir:v57] <|@
188 gap () ([rbx|R] = [rax|R];) () () [hir:v58] <|@
190 typeof-is-and-branch if typeof [rbx|R] == "string" then B11 else B9 [hir:v58] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors "B10"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 192
last_lir_id 198
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v62 BlockEntry type:Tagged pos:166 <|@
0 0 v63 Simulate id=76 type:Tagged pos:166 <|@
0 0 v64 Goto B10 type:Tagged pos:166 <|@
end_HIR
begin_LIR
192 label () () () () Dead block replaced with B10 [hir:v62] <|@
194 gap () () () () [hir:v62] <|@
196 gap () () () () [hir:v64] <|@
198 goto B10 [hir:v64] <|@
end_LIR
end_block
begin_block
name "B10"
from_bci -1
to_bci -1
predecessors "B9"
successors "B13"
xhandlers
flags
dominator "B9"
loop_depth 0
first_lir_id 200
last_lir_id 226
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v65 BlockEntry type:Tagged pos:184 <|@
0 1 t66 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:184 <|@
0 1 t68 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:184 <|@
0 0 t69 PushArguments t68 t2 type:Tagged pos:184 <|@
0 2 t71 CallJSFunction t66 #2 changes[*] type:Tagged pos:184 <|@
0 0 v72 Simulate id=91 push t71 type:Tagged pos:184 <|@
0 0 v76 Simulate id=73 type:Tagged pos:144 <|@
0 0 v77 Goto B13 type:Tagged pos:144 <|@
end_HIR
begin_LIR
200 label () () () () [hir:v65] <|@
202 gap () () () () [hir:v65] <|@
204 push-argument = [constant:68] [hir:t69] <|@
206 gap () () () () [hir:t69] <|@
208 push-argument = [rax|R] [hir:t69] <|@
210 gap () () () () [hir:t69] <|@
212 constant-t [rdi|R]= [hir:t66] <|@
214 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t66] <|@
216 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0]} [hir:t71] <|@
218 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t71] <|@
220 lazy-bailout = [id=91|deopt_id=3|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v72] <|@
222 gap () () () () [hir:v72] <|@
224 gap () ([rax|R];) () () [hir:v77] <|@
226 goto B13 [hir:v77] <|@
end_LIR
end_block
begin_block
name "B11"
from_bci -1
to_bci -1
predecessors "B8"
successors "B12"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 228
last_lir_id 234
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v59 BlockEntry type:Tagged pos:166 <|@
0 0 v60 Simulate id=75 type:Tagged pos:166 <|@
0 0 v61 Goto B12 type:Tagged pos:166 <|@
end_HIR
begin_LIR
228 label () () () () Dead block replaced with B12 [hir:v59] <|@
230 gap () () () () [hir:v59] <|@
232 gap () () () () [hir:v61] <|@
234 goto B12 [hir:v61] <|@
end_LIR
end_block
begin_block
name "B12"
from_bci -1
to_bci -1
predecessors "B11"
successors "B13"
xhandlers
flags
dominator "B11"
loop_depth 0
first_lir_id 236
last_lir_id 242
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v73 BlockEntry type:Tagged pos:144 <|@
0 0 v74 Simulate id=73 push t2 type:Tagged pos:144 <|@
0 0 v75 Goto B13 type:Tagged pos:144 <|@
end_HIR
begin_LIR
236 label () () () () [hir:v73] <|@
238 gap () () () () [hir:v73] <|@
240 gap () ([rax|R] = [stack:-3];) () () [hir:v75] <|@
242 goto B13 [hir:v75] <|@
end_LIR
end_block
begin_block
name "B13"
from_bci -1
to_bci -1
predecessors "B12" "B10"
successors "B67" "B14"
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 244
last_lir_id 250
begin_states
begin_locals
size 1
method "None"
13 t78 [ t2 t71 uses:30_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v79 BlockEntry type:Tagged pos:142 <|@
0 0 v81 HasInstanceTypeAndBranch t3 reg_exp type:Tagged pos:214 <|@
end_HIR
begin_LIR
244 label () ([stack:1] = [rax|R];) () () [hir:v79] <|@
246 gap () () () () [hir:v79] <|@
248 gap () () ([rbx|R] = [stack:-2];) () [hir:v81] <|@
250 has-instance-type-and-branch if has_instance_type([rbx|R]) then B67 else B14 [hir:v81] <|@
end_LIR
end_block
begin_block
name "B14"
from_bci -1
to_bci -1
predecessors "B13"
successors "B15"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 252
last_lir_id 258
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v85 BlockEntry type:Tagged pos:214 <|@
0 0 v86 Simulate id=101 pop 1 / var[4] = t78 type:Tagged pos:214 <|@
0 0 v87 Goto B15 type:Tagged pos:214 <|@
end_HIR
begin_LIR
252 label () () () () Dead block replaced with B15 [hir:v85] <|@
254 gap () () () () [hir:v85] <|@
256 gap () () () () [hir:v87] <|@
258 goto B15 [hir:v87] <|@
end_LIR
end_block
begin_block
name "B15"
from_bci -1
to_bci -1
predecessors "B14"
successors "B18" "B16"
xhandlers
flags
dominator "B14"
loop_depth 0
first_lir_id 260
last_lir_id 266
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v396 BlockEntry type:Tagged pos:1185 <|@
0 0 v397 TypeofIsAndBranch t3 == string goto (B18, B16) type:Tagged pos:1185 <|@
end_HIR
begin_LIR
260 label () () () () [hir:v396] <|@
262 gap () () () () [hir:v396] <|@
264 gap () ([rdx|R] = [rbx|R];) () () [hir:v397] <|@
266 typeof-is-and-branch if typeof [rdx|R] == "string" then B18 else B16 [hir:v397] <|@
end_LIR
end_block
begin_block
name "B16"
from_bci -1
to_bci -1
predecessors "B15"
successors "B17"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 268
last_lir_id 274
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v401 BlockEntry type:Tagged pos:1185 <|@
0 0 v402 Simulate id=587 type:Tagged pos:1185 <|@
0 0 v403 Goto B17 type:Tagged pos:1185 <|@
end_HIR
begin_LIR
268 label () () () () Dead block replaced with B17 [hir:v401] <|@
270 gap () () () () [hir:v401] <|@
272 gap () () () () [hir:v403] <|@
274 goto B17 [hir:v403] <|@
end_LIR
end_block
begin_block
name "B17"
from_bci -1
to_bci -1
predecessors "B16"
successors "B20"
xhandlers
flags
dominator "B16"
loop_depth 0
first_lir_id 276
last_lir_id 302
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v404 BlockEntry type:Tagged pos:1200 <|@
0 1 t405 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:1200 <|@
0 1 t407 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:1200 <|@
0 0 t408 PushArguments t407 t3 type:Tagged pos:1200 <|@
0 2 t410 CallJSFunction t405 #2 changes[*] type:Tagged pos:1200 <|@
0 0 v411 Simulate id=602 push t410 type:Tagged pos:1200 <|@
0 0 v415 Simulate id=584 type:Tagged pos:1166 <|@
0 0 v416 Goto B20 type:Tagged pos:1166 <|@
end_HIR
begin_LIR
276 label () () () () [hir:v404] <|@
278 gap () () () () [hir:v404] <|@
280 push-argument = [constant:407] [hir:t408] <|@
282 gap () () () () [hir:t408] <|@
284 push-argument = [rbx|R] [hir:t408] <|@
286 gap () () () () [hir:t408] <|@
288 constant-t [rdi|R]= [hir:t405] <|@
290 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t405] <|@
292 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t410] <|@
294 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t410] <|@
296 lazy-bailout = [id=602|deopt_id=4|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v411] <|@
298 gap () () () () [hir:v411] <|@
300 gap () ([rax|R];) () () [hir:v416] <|@
302 goto B20 [hir:v416] <|@
end_LIR
end_block
begin_block
name "B18"
from_bci -1
to_bci -1
predecessors "B15"
successors "B19"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 304
last_lir_id 310
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v398 BlockEntry type:Tagged pos:1185 <|@
0 0 v399 Simulate id=586 type:Tagged pos:1185 <|@
0 0 v400 Goto B19 type:Tagged pos:1185 <|@
end_HIR
begin_LIR
304 label () () () () Dead block replaced with B19 [hir:v398] <|@
306 gap () () () () [hir:v398] <|@
308 gap () () () () [hir:v400] <|@
310 goto B19 [hir:v400] <|@
end_LIR
end_block
begin_block
name "B19"
from_bci -1
to_bci -1
predecessors "B18"
successors "B20"
xhandlers
flags
dominator "B18"
loop_depth 0
first_lir_id 312
last_lir_id 318
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v412 BlockEntry type:Tagged pos:1166 <|@
0 0 v413 Simulate id=584 push t3 type:Tagged pos:1166 <|@
0 0 v414 Goto B20 type:Tagged pos:1166 <|@
end_HIR
begin_LIR
312 label () () () () [hir:v412] <|@
314 gap () () () () [hir:v412] <|@
316 gap () ([rax|R] = [stack:-2];) () () [hir:v414] <|@
318 goto B20 [hir:v414] <|@
end_LIR
end_block
begin_block
name "B20"
from_bci -1
to_bci -1
predecessors "B19" "B17"
successors "B21"
xhandlers
flags
dominator "B15"
loop_depth 0
first_lir_id 320
last_lir_id 326
begin_states
begin_locals
size 1
method "None"
13 t417 [ t3 t410 uses:6_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v418 BlockEntry type:Tagged pos:1227 <|@
0 0 v419 Deoptimize goto (B21) type:Tagged pos:1227 <|@
end_HIR
begin_LIR
320 label () ((0) = [rax|R];) () () [hir:v418] <|@
322 gap () () () () [hir:v418] <|@
324 gap () () () () [hir:v419] <|@
326 deoptimize = [id=584|deopt_id=5|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v419] <|@
end_LIR
end_block
begin_block
name "B21"
from_bci -1
to_bci -1
predecessors "B20"
successors "B22"
xhandlers
flags "dead"
dominator "B20"
loop_depth 0
first_lir_id 328
last_lir_id 342
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v420 BlockEntry type:Tagged pos:1227 <|@
0 2 t421 LoadNamedGeneric t417.length changes[*] type:Tagged pos:1227 <|@
0 0 v422 Simulate id=628 pop 1 / var[1] = t417, push t421 type:Tagged pos:1227 <|@
0 0 v424 Deoptimize goto (B22) type:Tagged pos:1234 <|@
end_HIR
begin_LIR
328 label () () () () [hir:v420] <|@
330 gap () () () () [hir:v420] <|@
332 dummy-use = [rax|R] [hir:t421] <|@
334 gap () () () () [hir:t421] <|@
336 dummy-use [rbx|R]= [stack:0] [hir:t421] <|@
338 gap ((0) = [rbx|R];) () () () [hir:t421] <|@
340 gap () () () () [hir:v424] <|@
342 deoptimize = [id=628|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v424] <|@
end_LIR
end_block
begin_block
name "B22"
from_bci -1
to_bci -1
predecessors "B21"
successors "B24" "B23"
xhandlers
flags "dead"
dominator "B21"
loop_depth 0
first_lir_id 344
last_lir_id 362
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v425 BlockEntry type:Tagged pos:1234 <|@
0 1 t638 Constant 1 pos:1234 <|@
0 2 t426 CompareGeneric EQ t421 t638 changes[*] pos:1234 <|@
0 0 v427 Simulate id=625 pop 1 / push t426 type:Tagged pos:1234 <|@
0 0 v428 Branch t426 goto (B24, B23) (None) type:Tagged pos:1234 <|@
end_HIR
begin_LIR
344 label () () () () [hir:v425] <|@
346 gap () () () () [hir:v425] <|@
348 dummy-use = [rbx|R] [hir:t426] <|@
350 gap () () () () [hir:t426] <|@
352 dummy-use = [constant:638] [hir:t426] <|@
354 gap () () () () [hir:t426] <|@
356 dummy-use [rbx|R]= [stack:0] [hir:t426] <|@
358 gap ((0) = [rbx|R];) () () () [hir:t426] <|@
360 gap () () () () [hir:v428] <|@
362 branch B24 | B23 on [rbx|R] [hir:v428] <|@
end_LIR
end_block
begin_block
name "B23"
from_bci -1
to_bci -1
predecessors "B22"
successors "B36"
xhandlers
flags "dead"
dominator "B22"
loop_depth 0
first_lir_id 364
last_lir_id 370
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v432 BlockEntry type:Tagged pos:1234 <|@
0 0 v433 Simulate id=612 pop 1 type:Tagged pos:1234 <|@
0 0 v434 Goto B36 type:Tagged pos:1234 <|@
end_HIR
begin_LIR
364 label () () () () Dead block replaced with B36 [hir:v432] <|@
366 gap () () () () [hir:v432] <|@
368 gap () () () () [hir:v434] <|@
370 goto B36 [hir:v434] <|@
end_LIR
end_block
begin_block
name "B24"
from_bci -1
to_bci -1
predecessors "B22"
successors "B25"
xhandlers
flags "dead"
dominator "B22"
loop_depth 0
first_lir_id 372
last_lir_id 378
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v429 BlockEntry type:Tagged pos:1234 <|@
0 0 v430 Simulate id=623 pop 1 type:Tagged pos:1234 <|@
0 0 v431 Goto B25 type:Tagged pos:1234 <|@
end_HIR
begin_LIR
372 label () () () () Dead block replaced with B25 [hir:v429] <|@
374 gap () () () () [hir:v429] <|@
376 gap () () () () [hir:v431] <|@
378 goto B25 [hir:v431] <|@
end_LIR
end_block
begin_block
name "B25"
from_bci -1
to_bci -1
predecessors "B24"
successors "B26"
xhandlers
flags "dead"
dominator "B24"
loop_depth 0
first_lir_id 380
last_lir_id 386
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v435 BlockEntry type:Tagged pos:1240 <|@
0 0 v437 Deoptimize goto (B26) type:Tagged pos:1241 <|@
end_HIR
begin_LIR
380 label () () () () [hir:v435] <|@
382 gap () () () () [hir:v435] <|@
384 gap () () () () [hir:v437] <|@
386 deoptimize = [id=623|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v437] <|@
end_LIR
end_block
begin_block
name "B26"
from_bci -1
to_bci -1
predecessors "B25"
successors "B27"
xhandlers
flags "dead"
dominator "B25"
loop_depth 0
first_lir_id 388
last_lir_id 402
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v438 BlockEntry type:Tagged pos:1241 <|@
0 2 t439 LoadNamedGeneric t78.length changes[*] type:Tagged pos:1241 <|@
0 0 v440 Simulate id=643 push t439 type:Tagged pos:1241 <|@
0 0 v442 Deoptimize goto (B27) type:Tagged pos:1248 <|@
end_HIR
begin_LIR
388 label () () () () [hir:v438] <|@
390 gap () () () () [hir:v438] <|@
392 dummy-use = [stack:1] [hir:t439] <|@
394 gap () () () () [hir:t439] <|@
396 dummy-use [rbx|R]= [stack:0] [hir:t439] <|@
398 gap ((0) = [rbx|R];) () () () [hir:t439] <|@
400 gap () () () () [hir:v442] <|@
402 deoptimize = [id=643|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v442] <|@
end_LIR
end_block
begin_block
name "B27"
from_bci -1
to_bci -1
predecessors "B26"
successors "B29" "B28"
xhandlers
flags "dead"
dominator "B26"
loop_depth 0
first_lir_id 404
last_lir_id 422
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v443 BlockEntry type:Tagged pos:1248 <|@
0 1 t639 Constant 255 pos:1248 <|@
0 2 t444 CompareGeneric GT t439 t639 changes[*] pos:1248 <|@
0 0 v445 Simulate id=640 pop 1 / push t444 type:Tagged pos:1248 <|@
0 0 v446 Branch t444 goto (B29, B28) (None) type:Tagged pos:1248 <|@
end_HIR
begin_LIR
404 label () () () () [hir:v443] <|@
406 gap () () () () [hir:v443] <|@
408 dummy-use = [rbx|R] [hir:t444] <|@
410 gap () () () () [hir:t444] <|@
412 dummy-use = [constant:639] [hir:t444] <|@
414 gap () () () () [hir:t444] <|@
416 dummy-use [rbx|R]= [stack:0] [hir:t444] <|@
418 gap ((0) = [rbx|R];) () () () [hir:t444] <|@
420 gap () () () () [hir:v446] <|@
422 branch B29 | B28 on [rbx|R] [hir:v446] <|@
end_LIR
end_block
begin_block
name "B28"
from_bci -1
to_bci -1
predecessors "B27"
successors "B36"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 424
last_lir_id 430
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v450 BlockEntry type:Tagged pos:1248 <|@
0 0 v451 Simulate id=612 pop 1 type:Tagged pos:1248 <|@
0 0 v452 Goto B36 type:Tagged pos:1248 <|@
end_HIR
begin_LIR
424 label () () () () Dead block replaced with B36 [hir:v450] <|@
426 gap () () () () [hir:v450] <|@
428 gap () () () () [hir:v452] <|@
430 goto B36 [hir:v452] <|@
end_LIR
end_block
begin_block
name "B29"
from_bci -1
to_bci -1
predecessors "B27"
successors "B30"
xhandlers
flags "dead"
dominator "B27"
loop_depth 0
first_lir_id 432
last_lir_id 438
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v447 BlockEntry type:Tagged pos:1248 <|@
0 0 v448 Simulate id=619 pop 1 type:Tagged pos:1248 <|@
0 0 v449 Goto B30 type:Tagged pos:1248 <|@
end_HIR
begin_LIR
432 label () () () () Dead block replaced with B30 [hir:v447] <|@
434 gap () () () () [hir:v447] <|@
436 gap () () () () [hir:v449] <|@
438 goto B30 [hir:v449] <|@
end_LIR
end_block
begin_block
name "B30"
from_bci -1
to_bci -1
predecessors "B29"
successors "B32" "B31"
xhandlers
flags "dead"
dominator "B29"
loop_depth 0
first_lir_id 440
last_lir_id 446
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v453 BlockEntry type:Tagged pos:1266 <|@
0 0 v454 TypeofIsAndBranch t4 == string goto (B32, B31) type:Tagged pos:1266 <|@
end_HIR
begin_LIR
440 label () () () () [hir:v453] <|@
442 gap () () () () [hir:v453] <|@
444 gap () ([rbx|R] = [stack:-1];) () () [hir:v454] <|@
446 typeof-is-and-branch if typeof [rbx|R] == "string" then B32 else B31 [hir:v454] <|@
end_LIR
end_block
begin_block
name "B31"
from_bci -1
to_bci -1
predecessors "B30"
successors "B36"
xhandlers
flags "dead"
dominator "B30"
loop_depth 0
first_lir_id 448
last_lir_id 454
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v458 BlockEntry type:Tagged pos:1266 <|@
0 0 v459 Simulate id=612 type:Tagged pos:1266 <|@
0 0 v460 Goto B36 type:Tagged pos:1266 <|@
end_HIR
begin_LIR
448 label () () () () Dead block replaced with B36 [hir:v458] <|@
450 gap () () () () [hir:v458] <|@
452 gap () () () () [hir:v460] <|@
454 goto B36 [hir:v460] <|@
end_LIR
end_block
begin_block
name "B32"
from_bci -1
to_bci -1
predecessors "B30"
successors "B33"
xhandlers
flags "dead"
dominator "B30"
loop_depth 0
first_lir_id 456
last_lir_id 462
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v455 BlockEntry type:Tagged pos:1266 <|@
0 0 v456 Simulate id=615 type:Tagged pos:1266 <|@
0 0 v457 Goto B33 type:Tagged pos:1266 <|@
end_HIR
begin_LIR
456 label () () () () Dead block replaced with B33 [hir:v455] <|@
458 gap () () () () [hir:v455] <|@
460 gap () () () () [hir:v457] <|@
462 goto B33 [hir:v457] <|@
end_LIR
end_block
begin_block
name "B33"
from_bci -1
to_bci -1
predecessors "B32"
successors "B34"
xhandlers
flags "dead"
dominator "B32"
loop_depth 0
first_lir_id 464
last_lir_id 486
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v461 BlockEntry type:Tagged pos:1298 <|@
0 1 t462 Constant 0x171db992a5c1 <String[1]: $> [map 0x3f3d14804261] pos:1298 <|@
0 2 t640 Constant 0 pos:1281 <|@
0 0 t464 PushArguments t4 t462 t640 type:Tagged pos:1281 <|@
0 2 t465 CallRuntime StringIndexOf #3 changes[*] type:Tagged pos:1281 <|@
0 0 v466 Simulate id=670 push t465 type:Tagged pos:1281 <|@
0 0 v468 Deoptimize goto (B34) type:Tagged pos:1304 <|@
end_HIR
begin_LIR
464 label () () () () [hir:v461] <|@
466 gap () () () () [hir:v461] <|@
468 dummy-use = [constant:462] [hir:t464] <|@
470 gap () () () () [hir:t464] <|@
472 dummy-use = [constant:640] [hir:t464] <|@
474 gap () () () () [hir:t464] <|@
476 dummy-use [rbx|R]= [stack:-1] [hir:t464] <|@
478 gap ((0) = [rbx|R];) () () () [hir:t464] <|@
480 dummy-use [rbx|R]= [stack:0] [hir:t465] <|@
482 gap ((0) = [rbx|R];) () () () [hir:t465] <|@
484 gap () () () () [hir:v468] <|@
486 deoptimize = [id=670|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v468] <|@
end_LIR
end_block
begin_block
name "B34"
from_bci -1
to_bci -1
predecessors "B33"
successors "B65" "B35"
xhandlers
flags "dead"
dominator "B33"
loop_depth 0
first_lir_id 488
last_lir_id 506
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v469 BlockEntry type:Tagged pos:1304 <|@
0 2 t470 CompareGeneric LT t465 t640 changes[*] pos:1304 <|@
0 0 v471 Simulate id=667 pop 1 / push t470 type:Tagged pos:1304 <|@
0 0 v472 Branch t470 goto (B65, B35) (None) type:Tagged pos:1304 <|@
end_HIR
begin_LIR
488 label () () () () [hir:v469] <|@
490 gap () () () () [hir:v469] <|@
492 dummy-use = [rbx|R] [hir:t470] <|@
494 gap () () () () [hir:t470] <|@
496 dummy-use = [constant:640] [hir:t470] <|@
498 gap () () () () [hir:t470] <|@
500 dummy-use [rbx|R]= [stack:0] [hir:t470] <|@
502 gap ((0) = [rbx|R];) () () () [hir:t470] <|@
504 gap () () () () [hir:v472] <|@
506 branch B65 | B35 on [rbx|R] [hir:v472] <|@
end_LIR
end_block
begin_block
name "B35"
from_bci -1
to_bci -1
predecessors "B34"
successors "B36"
xhandlers
flags "dead"
dominator "B34"
loop_depth 0
first_lir_id 508
last_lir_id 514
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v476 BlockEntry type:Tagged pos:1304 <|@
0 0 v477 Simulate id=612 pop 1 type:Tagged pos:1304 <|@
0 0 v478 Goto B36 type:Tagged pos:1304 <|@
end_HIR
begin_LIR
508 label () () () () Dead block replaced with B36 [hir:v476] <|@
510 gap () () () () [hir:v476] <|@
512 gap () () () () [hir:v478] <|@
514 goto B36 [hir:v478] <|@
end_LIR
end_block
begin_block
name "B36"
from_bci -1
to_bci -1
predecessors "B23" "B28" "B31" "B35"
successors "B37"
xhandlers
flags "dead"
dominator "B22"
loop_depth 0
first_lir_id 516
last_lir_id 538
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v486 BlockEntry type:Tagged pos:1379 <|@
0 3 t642 Constant 0 pos:1364 <|@
0 0 t489 PushArguments t78 t417 t642 type:Tagged pos:1364 <|@
0 8 t490 CallRuntime StringIndexOf #3 changes[*] type:Tagged pos:1364 <|@
0 0 v491 Simulate id=705 push t490 type:Tagged pos:1364 <|@
0 0 v495 Deoptimize goto (B37) type:Tagged pos:1391 <|@
end_HIR
begin_LIR
516 label () () () () [hir:v486] <|@
518 gap () () () () [hir:v486] <|@
520 dummy-use = [rax|R] [hir:t489] <|@
522 gap () () () () [hir:t489] <|@
524 dummy-use = [constant:642] [hir:t489] <|@
526 gap () () () () [hir:t489] <|@
528 dummy-use [rbx|R]= [stack:1] [hir:t489] <|@
530 gap ((0) = [rbx|R];) () () () [hir:t489] <|@
532 dummy-use [rbx|R]= [stack:0] [hir:t490] <|@
534 gap ((0) = [rbx|R];) () () () [hir:t490] <|@
536 gap () () () () [hir:v495] <|@
538 deoptimize = [id=705|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v495] <|@
end_LIR
end_block
begin_block
name "B37"
from_bci -1
to_bci -1
predecessors "B36"
successors "B63" "B38"
xhandlers
flags "dead"
dominator "B36"
loop_depth 0
first_lir_id 540
last_lir_id 558
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v496 BlockEntry type:Tagged pos:1391 <|@
0 2 t497 CompareGeneric LT t490 t642 changes[*] pos:1391 <|@
0 0 v498 Simulate id=718 pop 1 / var[9] = t490, push t497 type:Tagged pos:1391 <|@
0 0 v499 Branch t497 goto (B63, B38) (None) type:Tagged pos:1391 <|@
end_HIR
begin_LIR
540 label () () () () [hir:v496] <|@
542 gap () () () () [hir:v496] <|@
544 dummy-use = [rbx|R] [hir:t497] <|@
546 gap () () () () [hir:t497] <|@
548 dummy-use = [constant:642] [hir:t497] <|@
550 gap () () () () [hir:t497] <|@
552 dummy-use [rdx|R]= [stack:0] [hir:t497] <|@
554 gap ((0) = [rdx|R];) () () () [hir:t497] <|@
556 gap () () () () [hir:v499] <|@
558 branch B63 | B38 on [rdx|R] [hir:v499] <|@
end_LIR
end_block
begin_block
name "B38"
from_bci -1
to_bci -1
predecessors "B37"
successors "B39"
xhandlers
flags "dead"
dominator "B37"
loop_depth 0
first_lir_id 560
last_lir_id 566
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v503 BlockEntry type:Tagged pos:1391 <|@
0 0 v504 Simulate id=717 pop 1 type:Tagged pos:1391 <|@
0 0 v505 Goto B39 type:Tagged pos:1391 <|@
end_HIR
begin_LIR
560 label () () () () Dead block replaced with B39 [hir:v503] <|@
562 gap () () () () [hir:v503] <|@
564 gap () () () () [hir:v505] <|@
566 goto B39 [hir:v505] <|@
end_LIR
end_block
begin_block
name "B39"
from_bci -1
to_bci -1
predecessors "B38"
successors "B40"
xhandlers
flags "dead"
dominator "B38"
loop_depth 0
first_lir_id 568
last_lir_id 574
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v510 BlockEntry type:Tagged pos:1410 <|@
0 0 v512 Deoptimize goto (B40) type:Tagged pos:1413 <|@
end_HIR
begin_LIR
568 label () () () () [hir:v510] <|@
570 gap () () () () [hir:v510] <|@
572 gap () () () () [hir:v512] <|@
574 deoptimize = [id=717|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[constant:6];[constant:6];[constant:6]] [hir:v512] <|@
end_LIR
end_block
begin_block
name "B40"
from_bci -1
to_bci -1
predecessors "B39"
successors "B41"
xhandlers
flags "dead"
dominator "B39"
loop_depth 0
first_lir_id 576
last_lir_id 590
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v513 BlockEntry type:Tagged pos:1413 <|@
0 2 t514 LoadNamedGeneric t417.length changes[*] type:Tagged pos:1413 <|@
0 0 v515 Simulate id=743 push t490, push t514 type:Tagged pos:1413 <|@
0 0 v516 Deoptimize goto (B41) type:Tagged pos:1411 <|@
end_HIR
begin_LIR
576 label () () () () [hir:v513] <|@
578 gap () () () () [hir:v513] <|@
580 dummy-use = [rax|R] [hir:t514] <|@
582 gap () () () () [hir:t514] <|@
584 dummy-use [rdx|R]= [stack:0] [hir:t514] <|@
586 gap ((0) = [rdx|R];) () () () [hir:t514] <|@
588 gap () () () () [hir:v516] <|@
590 deoptimize = [id=743|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v516] <|@
end_LIR
end_block
begin_block
name "B41"
from_bci -1
to_bci -1
predecessors "B40"
successors "B42"
xhandlers
flags "dead"
dominator "B40"
loop_depth 0
first_lir_id 592
last_lir_id 598
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v517 BlockEntry type:Tagged pos:1411 <|@
0 0 v518 Deoptimize goto (B42) type:Tagged pos:1411 <|@
end_HIR
begin_LIR
592 label () () () () [hir:v517] <|@
594 gap () () () () [hir:v517] <|@
596 gap () () () () [hir:v518] <|@
598 deoptimize = [id=743|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v518] <|@
end_LIR
end_block
begin_block
name "B42"
from_bci -1
to_bci -1
predecessors "B41"
successors "B52" "B43"
xhandlers
flags "dead"
dominator "B41"
loop_depth 0
first_lir_id 600
last_lir_id 634
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v519 BlockEntry type:Tagged pos:1411 <|@
0 5 t520 Add t490 t514 ! changes[*] pos:1411 <|@
0 0 v521 Simulate id=737 pop 2 / push t520 type:Tagged pos:1411 <|@
0 0 t526 PushArguments t78 t642 t490 type:Tagged pos:1428 <|@
0 7 t527 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:1428 <|@
0 0 v528 Simulate id=761 pop 1 / var[10] = t520, push t527 type:Tagged pos:1428 <|@
0 0 v530 ClassOfTestAndBranch class_of_test(t4, "Function") type:Tagged pos:1464 <|@
end_HIR
begin_LIR
600 label () () () () [hir:v519] <|@
602 gap () () () () [hir:v519] <|@
604 dummy-use = [rbx|R] [hir:t520] <|@
606 gap () () () () [hir:t520] <|@
608 dummy-use = [rdx|R] [hir:t520] <|@
610 gap () () () () [hir:t520] <|@
612 dummy-use [rdx|R]= [stack:0] [hir:t520] <|@
614 gap ((0) = [rdx|R];) () () () [hir:t520] <|@
616 dummy-use = [constant:642] [hir:t526] <|@
618 gap () () () () [hir:t526] <|@
620 dummy-use = [rbx|R] [hir:t526] <|@
622 gap () () () () [hir:t526] <|@
624 dummy-use [rcx|R]= [stack:1] [hir:t526] <|@
626 gap ((0) = [rcx|R];) () () () [hir:t526] <|@
628 dummy-use [rcx|R]= [stack:0] [hir:t527] <|@
630 gap ((0) = [rcx|R];) () () () [hir:t527] <|@
632 gap () () ([rsi|R] = [stack:-1];) () [hir:v530] <|@
634 class-of-test-and-branch if class_of_test([rsi|R], "0x171db9915739 <String[8]: Function>") then B52 else B43 [hir:v530] <|@
end_LIR
end_block
begin_block
name "B43"
from_bci -1
to_bci -1
predecessors "B42"
successors "B44"
xhandlers
flags "dead"
dominator "B42"
loop_depth 0
first_lir_id 636
last_lir_id 642
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v534 BlockEntry type:Tagged pos:1464 <|@
0 0 v535 Simulate id=773 pop 1 / var[11] = t527 type:Tagged pos:1464 <|@
0 0 v536 Goto B44 type:Tagged pos:1464 <|@
end_HIR
begin_LIR
636 label () () () () Dead block replaced with B44 [hir:v534] <|@
638 gap () () () () [hir:v534] <|@
640 gap () () () () [hir:v536] <|@
642 goto B44 [hir:v536] <|@
end_LIR
end_block
begin_block
name "B44"
from_bci -1
to_bci -1
predecessors "B43"
successors "B45"
xhandlers
flags "dead"
dominator "B43"
loop_depth 0
first_lir_id 644
last_lir_id 654
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v565 BlockEntry type:Tagged pos:1548 <|@
0 1 t566 LoadContextSlot t1[6] type:Tagged pos:1548 <|@
0 0 v569 Deoptimize goto (B45) type:Tagged pos:1552 <|@
end_HIR
begin_LIR
644 label () () () () [hir:v565] <|@
646 gap () () () () [hir:v565] <|@
648 dummy-use [rdi|R]= [stack:0] [hir:t566] <|@
650 gap ((0) = [rdi|R];) () () () [hir:t566] <|@
652 gap () () () () [hir:v569] <|@
654 deoptimize = [id=773|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[constant:6]] [hir:v569] <|@
end_LIR
end_block
begin_block
name "B45"
from_bci -1
to_bci -1
predecessors "B44"
successors "B46"
xhandlers
flags "dead"
dominator "B44"
loop_depth 0
first_lir_id 656
last_lir_id 682
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v570 BlockEntry type:Tagged pos:1552 <|@
0 1 t645 Constant 3 pos:1552 <|@
0 0 v571 StoreKeyedGeneric t566[t645] = t490 changes[*] type:Tagged pos:1552 <|@
0 0 v572 Simulate id=843 type:Tagged pos:1552 <|@
0 1 t573 LoadContextSlot t1[6] type:Tagged pos:1556 <|@
0 0 v576 Deoptimize goto (B46) type:Tagged pos:1560 <|@
end_HIR
begin_LIR
656 label () () () () [hir:v570] <|@
658 gap () () () () [hir:v570] <|@
660 dummy-use = [constant:645] [hir:v571] <|@
662 gap () () () () [hir:v571] <|@
664 dummy-use = [rbx|R] [hir:v571] <|@
666 gap () () () () [hir:v571] <|@
668 dummy-use = [stack:0] [hir:v571] <|@
670 gap () () () () [hir:v571] <|@
672 dummy-use [r8|R]= [rdi|R] [hir:v571] <|@
674 gap ((0) = [r8|R];) () () () [hir:v571] <|@
676 dummy-use [rdi|R]= [stack:0] [hir:t573] <|@
678 gap ((0) = [rdi|R];) () () () [hir:t573] <|@
680 gap () () () () [hir:v576] <|@
682 deoptimize = [id=843|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[constant:6]] [hir:v576] <|@
end_LIR
end_block
begin_block
name "B46"
from_bci -1
to_bci -1
predecessors "B45"
successors "B49" "B47"
xhandlers
flags "dead"
dominator "B45"
loop_depth 0
first_lir_id 684
last_lir_id 710
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v577 BlockEntry type:Tagged pos:1560 <|@
0 1 t646 Constant 4 pos:1560 <|@
0 0 v578 StoreKeyedGeneric t573[t646] = t520 changes[*] type:Tagged pos:1560 <|@
0 0 v579 Simulate id=858 type:Tagged pos:1560 <|@
0 3 t580 LoadContextSlot t1[7] type:Tagged pos:1566 <|@
0 0 v581 TypeofIsAndBranch t4 == string goto (B49, B47) type:Tagged pos:1604 <|@
end_HIR
begin_LIR
684 label () () () () [hir:v577] <|@
686 gap () () () () [hir:v577] <|@
688 dummy-use = [constant:646] [hir:v578] <|@
690 gap () () () () [hir:v578] <|@
692 dummy-use = [rdx|R] [hir:v578] <|@
694 gap () () () () [hir:v578] <|@
696 dummy-use = [stack:0] [hir:v578] <|@
698 gap () () () () [hir:v578] <|@
700 dummy-use [r8|R]= [rdi|R] [hir:v578] <|@
702 gap ((0) = [r8|R];) () () () [hir:v578] <|@
704 dummy-use [rdi|R]= [stack:0] [hir:t580] <|@
706 gap ((0) = [rdi|R];) () () () [hir:t580] <|@
708 gap () ([r8|R] = [rsi|R];) () () [hir:v581] <|@
710 typeof-is-and-branch if typeof [r8|R] == "string" then B49 else B47 [hir:v581] <|@
end_LIR
end_block
begin_block
name "B47"
from_bci -1
to_bci -1
predecessors "B46"
successors "B48"
xhandlers
flags "dead"
dominator "B46"
loop_depth 0
first_lir_id 712
last_lir_id 718
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v585 BlockEntry type:Tagged pos:1604 <|@
0 0 v586 Simulate id=888 push t580, push t6 type:Tagged pos:1604 <|@
0 0 v587 Goto B48 type:Tagged pos:1604 <|@
end_HIR
begin_LIR
712 label () () () () Dead block replaced with B48 [hir:v585] <|@
714 gap () () () () [hir:v585] <|@
716 gap () () () () [hir:v587] <|@
718 goto B48 [hir:v587] <|@
end_LIR
end_block
begin_block
name "B48"
from_bci -1
to_bci -1
predecessors "B47"
successors "B51"
xhandlers
flags "dead"
dominator "B47"
loop_depth 0
first_lir_id 720
last_lir_id 738
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v588 BlockEntry type:Tagged pos:1619 <|@
0 1 t589 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:1619 <|@
0 1 t591 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:1619 <|@
0 0 t592 PushArguments t591 t4 type:Tagged pos:1619 <|@
0 2 t594 CallJSFunction t589 #2 changes[*] type:Tagged pos:1619 <|@
0 0 v595 Simulate id=903 push t594 type:Tagged pos:1619 <|@
0 0 v599 Simulate id=885 type:Tagged pos:1585 <|@
0 0 v600 Goto B51 type:Tagged pos:1585 <|@
end_HIR
begin_LIR
720 label () () () () [hir:v588] <|@
722 gap () () () () [hir:v588] <|@
724 dummy-use = [rsi|R] [hir:t592] <|@
726 gap () () () () [hir:t592] <|@
728 dummy-use [r8|R]= [constant:591] [hir:t592] <|@
730 gap ((0) = [r8|R];) () () () [hir:t592] <|@
732 dummy-use [r8|R]= [constant:589] [hir:t594] <|@
734 gap ((0) = [r8|R];) () () () [hir:t594] <|@
736 gap () ([r8|R];) () () [hir:v600] <|@
738 goto B51 [hir:v600] <|@
end_LIR
end_block
begin_block
name "B49"
from_bci -1
to_bci -1
predecessors "B46"
successors "B50"
xhandlers
flags "dead"
dominator "B46"
loop_depth 0
first_lir_id 740
last_lir_id 746
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v582 BlockEntry type:Tagged pos:1604 <|@
0 0 v583 Simulate id=887 push t580, push t6 type:Tagged pos:1604 <|@
0 0 v584 Goto B50 type:Tagged pos:1604 <|@
end_HIR
begin_LIR
740 label () () () () Dead block replaced with B50 [hir:v582] <|@
742 gap () () () () [hir:v582] <|@
744 gap () () () () [hir:v584] <|@
746 goto B50 [hir:v584] <|@
end_LIR
end_block
begin_block
name "B50"
from_bci -1
to_bci -1
predecessors "B49"
successors "B51"
xhandlers
flags "dead"
dominator "B49"
loop_depth 0
first_lir_id 748
last_lir_id 754
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v596 BlockEntry type:Tagged pos:1585 <|@
0 0 v597 Simulate id=885 push t4 type:Tagged pos:1585 <|@
0 0 v598 Goto B51 type:Tagged pos:1585 <|@
end_HIR
begin_LIR
748 label () () () () [hir:v596] <|@
750 gap () () () () [hir:v596] <|@
752 gap () ([r8|R] = [rsi|R];) () () [hir:v598] <|@
754 goto B51 [hir:v598] <|@
end_LIR
end_block
begin_block
name "B51"
from_bci -1
to_bci -1
predecessors "B50" "B48"
successors "B59"
xhandlers
flags "dead"
dominator "B46"
loop_depth 0
first_lir_id 756
last_lir_id 794
begin_states
begin_locals
size 1
method "None"
15 t601 [ t4 t594 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v602 BlockEntry type:Tagged pos:1642 <|@
0 1 t604 LoadContextSlot t1[6] type:Tagged pos:1645 <|@
0 0 t606 PushArguments t6 t601 t78 t604 t527 type:Tagged pos:1566 <|@
0 3 t607 CallFunction t1 t580 (type-feedback-vector icslot 9) changes[*] type:Tagged pos:1566 <|@
0 0 v608 Simulate id=879 pop 3 / var[11] = t6, push t607 type:Tagged pos:1566 <|@
0 0 v612 Simulate id=771 pop 1 / var[11] = t607 type:Tagged pos:1448 <|@
0 0 v613 Goto B59 type:Tagged pos:1448 <|@
end_HIR
begin_LIR
756 label () ((0) = [r8|R];) () () [hir:v602] <|@
758 gap () () () () [hir:v602] <|@
760 dummy-use [r9|R]= [stack:0] [hir:t604] <|@
762 gap ((0) = [r9|R];) () () () [hir:t604] <|@
764 dummy-use = [r8|R] [hir:t606] <|@
766 gap () () () () [hir:t606] <|@
768 dummy-use = [stack:1] [hir:t606] <|@
770 gap () () () () [hir:t606] <|@
772 dummy-use = [r9|R] [hir:t606] <|@
774 gap () () () () [hir:t606] <|@
776 dummy-use = [rcx|R] [hir:t606] <|@
778 gap () () () () [hir:t606] <|@
780 dummy-use [rcx|R]= [constant:6] [hir:t606] <|@
782 gap ((0) = [rcx|R];) () () () [hir:t606] <|@
784 dummy-use = [rdi|R] [hir:t607] <|@
786 gap () () () () [hir:t607] <|@
788 dummy-use [rcx|R]= [stack:0] [hir:t607] <|@
790 gap ((0) = [rcx|R];) () () () [hir:t607] <|@
792 gap () ([rcx|R];) () () [hir:v613] <|@
794 goto B59 [hir:v613] <|@
end_LIR
end_block
begin_block
name "B52"
from_bci -1
to_bci -1
predecessors "B42"
successors "B53"
xhandlers
flags "dead"
dominator "B42"
loop_depth 0
first_lir_id 796
last_lir_id 802
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v531 BlockEntry type:Tagged pos:1464 <|@
0 0 v532 Simulate id=772 pop 1 / var[11] = t527 type:Tagged pos:1464 <|@
0 0 v533 Goto B53 type:Tagged pos:1464 <|@
end_HIR
begin_LIR
796 label () () () () Dead block replaced with B53 [hir:v531] <|@
798 gap () () () () [hir:v531] <|@
800 gap () () () () [hir:v533] <|@
802 goto B53 [hir:v533] <|@
end_LIR
end_block
begin_block
name "B53"
from_bci -1
to_bci -1
predecessors "B52"
successors "B55" "B54"
xhandlers
flags "dead"
dominator "B52"
loop_depth 0
first_lir_id 804
last_lir_id 834
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v537 BlockEntry type:Tagged pos:1487 <|@
0 0 t538 PushArguments t4 type:Tagged pos:1487 <|@
0 4 t539 CallRuntime GetDefaultReceiver #1 changes[*] type:Tagged pos:1487 <|@
0 0 v540 Simulate id=797 push t539 type:Tagged pos:1487 <|@
0 0 t546 PushArguments t539 t417 t490 t78 type:Tagged pos:1514 <|@
0 0 v547 HasInstanceTypeAndBranch t4 function type:Tagged pos:1514 <|@
end_HIR
begin_LIR
804 label () () () () [hir:v537] <|@
806 gap () () () () [hir:v537] <|@
808 dummy-use [rdi|R]= [rsi|R] [hir:t538] <|@
810 gap ((0) = [rdi|R];) () () () [hir:t538] <|@
812 dummy-use [rdi|R]= [stack:0] [hir:t539] <|@
814 gap ((0) = [rdi|R];) () () () [hir:t539] <|@
816 dummy-use = [rax|R] [hir:t546] <|@
818 gap () () () () [hir:t546] <|@
820 dummy-use = [rbx|R] [hir:t546] <|@
822 gap () () () () [hir:t546] <|@
824 dummy-use = [stack:1] [hir:t546] <|@
826 gap () () () () [hir:t546] <|@
828 dummy-use [r8|R]= [rdi|R] [hir:t546] <|@
830 gap ((0) = [r8|R];) () () () [hir:t546] <|@
832 gap () () () () [hir:v547] <|@
834 has-instance-type-and-branch if has_instance_type([rsi|R]) then B55 else B54 [hir:v547] <|@
end_LIR
end_block
begin_block
name "B54"
from_bci -1
to_bci -1
predecessors "B53"
successors "B56"
xhandlers
flags "dead"
dominator "B53"
loop_depth 0
first_lir_id 836
last_lir_id 850
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v551 BlockEntry type:Tagged pos:1514 <|@
0 2 t552 CallFunction t1 t4 changes[*] type:Tagged pos:1514 <|@
0 0 v553 Simulate id=827 pop 1 / var[12] = t539, push t527, push t552 type:Tagged pos:1514 <|@
0 0 v554 Goto B56 type:Tagged pos:1514 <|@
end_HIR
begin_LIR
836 label () () () () [hir:v551] <|@
838 gap () () () () [hir:v551] <|@
840 dummy-use = [rsi|R] [hir:t552] <|@
842 gap () () () () [hir:t552] <|@
844 dummy-use [r8|R]= [stack:0] [hir:t552] <|@
846 gap ((0) = [r8|R];) () () () [hir:t552] <|@
848 gap () ([r8|R];) () () [hir:v554] <|@
850 goto B56 [hir:v554] <|@
end_LIR
end_block
begin_block
name "B55"
from_bci -1
to_bci -1
predecessors "B53"
successors "B56"
xhandlers
flags "dead"
dominator "B53"
loop_depth 0
first_lir_id 852
last_lir_id 866
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v548 BlockEntry type:Tagged pos:1514 <|@
0 2 t549 InvokeFunction t1 t4 #4 changes[*] type:Tagged pos:1514 <|@
0 0 v550 Simulate id=827 pop 1 / var[12] = t539, push t527, push t549 type:Tagged pos:1514 <|@
0 0 v555 Goto B56 type:Tagged pos:1514 <|@
end_HIR
begin_LIR
852 label () () () () [hir:v548] <|@
854 gap () () () () [hir:v548] <|@
856 dummy-use = [rsi|R] [hir:t549] <|@
858 gap () () () () [hir:t549] <|@
860 dummy-use [r8|R]= [stack:0] [hir:t549] <|@
862 gap ((0) = [r8|R];) () () () [hir:t549] <|@
864 gap () ([r8|R];) () () [hir:v555] <|@
866 goto B56 [hir:v555] <|@
end_LIR
end_block
begin_block
name "B56"
from_bci -1
to_bci -1
predecessors "B54" "B55"
successors "B57"
xhandlers
flags "dead"
dominator "B53"
loop_depth 0
first_lir_id 868
last_lir_id 874
begin_states
begin_locals
size 1
method "None"
14 t556 [ t552 t549 uses:1_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v557 BlockEntry type:Tagged pos:1513 <|@
0 0 v558 Deoptimize goto (B57) type:Tagged pos:1513 <|@
end_HIR
begin_LIR
868 label () ((0) = [r8|R];) () () [hir:v557] <|@
870 gap () () () () [hir:v557] <|@
872 gap () () () () [hir:v558] <|@
874 deoptimize = [id=827|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[rdi|R];[rcx|R];[r8|R]] [hir:v558] <|@
end_LIR
end_block
begin_block
name "B57"
from_bci -1
to_bci -1
predecessors "B56"
successors "B58"
xhandlers
flags "dead"
dominator "B56"
loop_depth 0
first_lir_id 876
last_lir_id 882
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v559 BlockEntry type:Tagged pos:1513 <|@
0 0 v560 Deoptimize goto (B58) type:Tagged pos:1513 <|@
end_HIR
begin_LIR
876 label () () () () [hir:v559] <|@
878 gap () () () () [hir:v559] <|@
880 gap () () () () [hir:v560] <|@
882 deoptimize = [id=827|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[rdi|R];[rcx|R];[r8|R]] [hir:v560] <|@
end_LIR
end_block
begin_block
name "B58"
from_bci -1
to_bci -1
predecessors "B57"
successors "B59"
xhandlers
flags "dead"
dominator "B57"
loop_depth 0
first_lir_id 884
last_lir_id 902
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v561 BlockEntry type:Tagged pos:1513 <|@
0 3 t562 Add t527 t556 ! changes[*] pos:1513 <|@
0 0 v563 Simulate id=806 pop 2 / push t562 type:Tagged pos:1513 <|@
0 0 v610 Simulate id=771 pop 1 / var[11] = t562 type:Tagged pos:1448 <|@
0 0 v611 Goto B59 type:Tagged pos:1448 <|@
end_HIR
begin_LIR
884 label () () () () [hir:v561] <|@
886 gap () () () () [hir:v561] <|@
888 dummy-use = [rcx|R] [hir:t562] <|@
890 gap () () () () [hir:t562] <|@
892 dummy-use = [r8|R] [hir:t562] <|@
894 gap () () () () [hir:t562] <|@
896 dummy-use [rcx|R]= [stack:0] [hir:t562] <|@
898 gap ((0) = [rcx|R];) () () () [hir:t562] <|@
900 gap () ([rcx|R];) () () [hir:v611] <|@
902 goto B59 [hir:v611] <|@
end_LIR
end_block
begin_block
name "B59"
from_bci -1
to_bci -1
predecessors "B58" "B51"
successors "B60"
xhandlers
flags "dead"
dominator "B42"
loop_depth 0
first_lir_id 904
last_lir_id 910
begin_states
begin_locals
size 1
method "None"
11 t614 [ t562 t607 uses:2_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v616 BlockEntry type:Tagged pos:1661 <|@
0 0 v621 Deoptimize goto (B60) type:Tagged pos:1680 <|@
end_HIR
begin_LIR
904 label () ((0) = [rcx|R];) () () [hir:v616] <|@
906 gap () () () () [hir:v616] <|@
908 gap () () () () [hir:v621] <|@
910 deoptimize = [id=771|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[constant:6]] [hir:v621] <|@
end_LIR
end_block
begin_block
name "B60"
from_bci -1
to_bci -1
predecessors "B59"
successors "B61"
xhandlers
flags "dead"
dominator "B59"
loop_depth 0
first_lir_id 912
last_lir_id 942
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v622 BlockEntry type:Tagged pos:1680 <|@
0 2 t623 LoadNamedGeneric t78.length changes[*] type:Tagged pos:1680 <|@
0 0 v624 Simulate id=930 push t614, push t78, push t520, push t623 type:Tagged pos:1680 <|@
0 0 t625 PushArguments t78 t520 t623 type:Tagged pos:1663 <|@
0 2 t626 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:1663 <|@
0 0 v627 Simulate id=923 pop 3 / push t626 type:Tagged pos:1663 <|@
0 0 v628 Deoptimize goto (B61) type:Tagged pos:1662 <|@
end_HIR
begin_LIR
912 label () () () () [hir:v622] <|@
914 gap () () () () [hir:v622] <|@
916 dummy-use = [stack:1] [hir:t623] <|@
918 gap () () () () [hir:t623] <|@
920 dummy-use [rdi|R]= [stack:0] [hir:t623] <|@
922 gap ((0) = [rdi|R];) () () () [hir:t623] <|@
924 dummy-use = [rdx|R] [hir:t625] <|@
926 gap () () () () [hir:t625] <|@
928 dummy-use = [rdi|R] [hir:t625] <|@
930 gap () () () () [hir:t625] <|@
932 dummy-use [rdi|R]= [stack:1] [hir:t625] <|@
934 gap ((0) = [rdi|R];) () () () [hir:t625] <|@
936 dummy-use [rdi|R]= [stack:0] [hir:t626] <|@
938 gap ((0) = [rdi|R];) () () () [hir:t626] <|@
940 gap () () () () [hir:v628] <|@
942 deoptimize = [id=923|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[constant:6];[rcx|R];[rdi|R]] [hir:v628] <|@
end_LIR
end_block
begin_block
name "B61"
from_bci -1
to_bci -1
predecessors "B60"
successors "B62"
xhandlers
flags "dead"
dominator "B60"
loop_depth 0
first_lir_id 944
last_lir_id 950
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v629 BlockEntry type:Tagged pos:1662 <|@
0 0 v630 Deoptimize goto (B62) type:Tagged pos:1662 <|@
end_HIR
begin_LIR
944 label () () () () [hir:v629] <|@
946 gap () () () () [hir:v629] <|@
948 gap () () () () [hir:v630] <|@
950 deoptimize = [id=923|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R];[rcx|R];[constant:6];[rcx|R];[rdi|R]] [hir:v630] <|@
end_LIR
end_block
begin_block
name "B62"
from_bci -1
to_bci -1
predecessors "B61"
successors
xhandlers
flags "dead"
dominator "B61"
loop_depth 0
first_lir_id 952
last_lir_id 970
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v631 BlockEntry type:Tagged pos:1662 <|@
0 2 t632 Add t614 t626 ! changes[*] pos:1662 <|@
0 0 v633 Simulate id=917 pop 2 / push t632 type:Tagged pos:1662 <|@
0 1 s647 Constant 2 type:Smi pos:1654 <|@
0 0 v635 Return t632 (pop s647 values) type:Tagged pos:1654 <|@
end_HIR
begin_LIR
952 label () () () () [hir:v631] <|@
954 gap () () () () [hir:v631] <|@
956 dummy-use = [rcx|R] [hir:t632] <|@
958 gap () () () () [hir:t632] <|@
960 dummy-use = [rdi|R] [hir:t632] <|@
962 gap () () () () [hir:t632] <|@
964 dummy-use [rax|R]= [stack:0] [hir:t632] <|@
966 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t632] <|@
968 return = [rax|R] NULL [constant:647] [hir:v635] <|@
970 gap () () () () [hir:v635] <|@
end_LIR
end_block
begin_block
name "B63"
from_bci -1
to_bci -1
predecessors "B37"
successors "B64"
xhandlers
flags "dead"
dominator "B37"
loop_depth 0
first_lir_id 972
last_lir_id 978
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v500 BlockEntry type:Tagged pos:1391 <|@
0 0 v501 Simulate id=716 pop 1 / var[9] = t6 type:Tagged pos:1391 <|@
0 0 v502 Goto B64 type:Tagged pos:1391 <|@
end_HIR
begin_LIR
972 label () () () () Dead block replaced with B64 [hir:v500] <|@
974 gap () () () () [hir:v500] <|@
976 gap () () () () [hir:v502] <|@
978 goto B64 [hir:v502] <|@
end_LIR
end_block
begin_block
name "B64"
from_bci -1
to_bci -1
predecessors "B63"
successors
xhandlers
flags "dead"
dominator "B63"
loop_depth 0
first_lir_id 980
last_lir_id 986
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v506 BlockEntry type:Tagged pos:1401 <|@
0 1 s648 Constant 2 type:Smi pos:1394 <|@
0 0 v509 Return t78 (pop s648 values) type:Tagged pos:1394 <|@
end_HIR
begin_LIR
980 label () () () () [hir:v506] <|@
982 gap () ([rax|R] = [stack:1];) () () [hir:v506] <|@
984 return = [rax|R] NULL [constant:648] [hir:v509] <|@
986 gap () () () () [hir:v509] <|@
end_LIR
end_block
begin_block
name "B65"
from_bci -1
to_bci -1
predecessors "B34"
successors "B66"
xhandlers
flags "dead"
dominator "B34"
loop_depth 0
first_lir_id 988
last_lir_id 994
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v473 BlockEntry type:Tagged pos:1304 <|@
0 0 v474 Simulate id=611 pop 1 type:Tagged pos:1304 <|@
0 0 v475 Goto B66 type:Tagged pos:1304 <|@
end_HIR
begin_LIR
988 label () ([rsi|R] = [stack:-1];) () () [hir:v473] <|@
990 gap () () () () [hir:v473] <|@
992 gap () () () () [hir:v475] <|@
994 goto B66 [hir:v475] <|@
end_LIR
end_block
begin_block
name "B66"
from_bci -1
to_bci -1
predecessors "B65"
successors
xhandlers
flags "dead"
dominator "B65"
loop_depth 0
first_lir_id 996
last_lir_id 1018
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v479 BlockEntry type:Tagged pos:1348 <|@
0 0 t481 PushArguments t78 t417 t4 type:Tagged pos:1316 <|@
0 2 t482 CallRuntime StringReplaceOneCharWithString #3 changes[*] type:Tagged pos:1316 <|@
0 0 v483 Simulate id=687 var[4] = t6, push t482 type:Tagged pos:1316 <|@
0 1 s649 Constant 2 type:Smi pos:1309 <|@
0 0 v485 Return t482 (pop s649 values) type:Tagged pos:1309 <|@
end_HIR
begin_LIR
996 label () () () () [hir:v479] <|@
998 gap () () () () [hir:v479] <|@
1000 dummy-use = [rax|R] [hir:t481] <|@
1002 gap () () () () [hir:t481] <|@
1004 dummy-use = [rsi|R] [hir:t481] <|@
1006 gap () () () () [hir:t481] <|@
1008 dummy-use [rax|R]= [stack:1] [hir:t481] <|@
1010 gap ((0) = [rax|R];) () () () [hir:t481] <|@
1012 dummy-use [rax|R]= [stack:0] [hir:t482] <|@
1014 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t482] <|@
1016 return = [rax|R] NULL [constant:649] [hir:v485] <|@
1018 gap () () () () [hir:v485] <|@
end_LIR
end_block
begin_block
name "B67"
from_bci -1
to_bci -1
predecessors "B13"
successors "B68"
xhandlers
flags
dominator "B13"
loop_depth 0
first_lir_id 1020
last_lir_id 1026
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v82 BlockEntry type:Tagged pos:214 <|@
0 0 v83 Simulate id=100 pop 1 / var[4] = t78 type:Tagged pos:214 <|@
0 0 v84 Goto B68 type:Tagged pos:214 <|@
end_HIR
begin_LIR
1020 label () ([rsi|R] = [stack:-1];) () () [hir:v82] <|@
1022 gap () () () () [hir:v82] <|@
1024 gap () () () () [hir:v84] <|@
1026 goto B68 [hir:v84] <|@
end_LIR
end_block
begin_block
name "B68"
from_bci -1
to_bci -1
predecessors "B67"
successors "B71" "B69"
xhandlers
flags
dominator "B67"
loop_depth 0
first_lir_id 1028
last_lir_id 1046
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v88 BlockEntry type:Tagged pos:238 <|@
0 0 t89 CheckHeapObject t3 pos:238 <|@
0 0 t90 CheckMaps t3 [0x3f3d14807649] pos:238 <|@
0 4 t91 LoadNamedField t3.lastIndex[in-object]@56 type:Tagged pos:238 <|@
0 0 t94 IsSmiAndBranch t91 goto (B71, B69) type:Tagged pos:251 <|@
end_HIR
begin_LIR
1028 label () () () () [hir:v88] <|@
1030 gap () () ([rax|R] = [stack:-2];) () [hir:v88] <|@
1032 check-non-smi = [rax|R] [id=100|deopt_id=6|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:t89] <|@
1034 gap () () () () [hir:t89] <|@
1036 check-maps = [rax|R] [id=100|deopt_id=7|parameters=3|arguments_stack_height=0|[stack:-3];[rax|R];[rsi|R];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:t90] <|@
1038 gap () () () () [hir:t90] <|@
1040 load-named-field [rbx|R]= [rax|R] [hir:t91] <|@
1042 gap ((0) = [rbx|R];) () () () [hir:t91] <|@
1044 gap () () () () [hir:t94] <|@
1046 is-smi-and-branch if is_smi([rbx|R]) then B71 else B69 [hir:t94] <|@
end_LIR
end_block
begin_block
name "B69"
from_bci -1
to_bci -1
predecessors "B68"
successors "B70"
xhandlers
flags
dominator "B68"
loop_depth 0
first_lir_id 1048
last_lir_id 1054
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v98 BlockEntry type:Tagged pos:251 <|@
0 0 v99 Simulate id=131 var[5] = t91 type:Tagged pos:251 <|@
0 0 v100 Goto B70 type:Tagged pos:251 <|@
end_HIR
begin_LIR
1048 label () () () () Dead block replaced with B70 [hir:v98] <|@
1050 gap () () () () [hir:v98] <|@
1052 gap () () () () [hir:v100] <|@
1054 goto B70 [hir:v100] <|@
end_LIR
end_block
begin_block
name "B70"
from_bci -1
to_bci -1
predecessors "B69"
successors "B73"
xhandlers
flags
dominator "B69"
loop_depth 0
first_lir_id 1056
last_lir_id 1082
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v103 BlockEntry type:Tagged pos:273 <|@
0 1 t104 Constant 0x315a30792469 <JS Function ToNumber (SharedFunctionInfo 0x315a30749159)> pos:273 <|@
0 1 t107 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:273 <|@
0 0 t108 PushArguments t107 t91 type:Tagged pos:273 <|@
0 0 t110 CallJSFunction t104 #2 changes[*] type:Tagged pos:273 <|@
0 0 v111 Simulate id=139 var[5] = t6 type:Tagged pos:273 <|@
0 0 v114 Simulate id=128 type:Tagged pos:251 <|@
0 0 v115 Goto B73 type:Tagged pos:251 <|@
end_HIR
begin_LIR
1056 label () () () () [hir:v103] <|@
1058 gap () () () () [hir:v103] <|@
1060 push-argument = [constant:107] [hir:t108] <|@
1062 gap () () () () [hir:t108] <|@
1064 push-argument = [rbx|R] [hir:t108] <|@
1066 gap () () () () [hir:t108] <|@
1068 constant-t [rdi|R]= [hir:t104] <|@
1070 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t104] <|@
1072 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t110] <|@
1074 gap ((0) = [rax|R];) () () () [hir:t110] <|@
1076 lazy-bailout = [id=139|deopt_id=8|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v111] <|@
1078 gap () () () () [hir:v111] <|@
1080 gap () () () () [hir:v115] <|@
1082 goto B73 [hir:v115] <|@
end_LIR
end_block
begin_block
name "B71"
from_bci -1
to_bci -1
predecessors "B68"
successors "B72"
xhandlers
flags
dominator "B68"
loop_depth 0
first_lir_id 1084
last_lir_id 1090
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v95 BlockEntry type:Tagged pos:251 <|@
0 0 v96 Simulate id=130 var[5] = t91 type:Tagged pos:251 <|@
0 0 v97 Goto B72 type:Tagged pos:251 <|@
end_HIR
begin_LIR
1084 label () () () () Dead block replaced with B72 [hir:v95] <|@
1086 gap () () () () [hir:v95] <|@
1088 gap () () () () [hir:v97] <|@
1090 goto B72 [hir:v97] <|@
end_LIR
end_block
begin_block
name "B72"
from_bci -1
to_bci -1
predecessors "B71"
successors "B73"
xhandlers
flags
dominator "B71"
loop_depth 0
first_lir_id 1092
last_lir_id 1098
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v101 BlockEntry type:Tagged pos:271 <|@
0 0 v112 Simulate id=128 var[5] = t6 type:Tagged pos:251 <|@
0 0 v113 Goto B73 type:Tagged pos:251 <|@
end_HIR
begin_LIR
1092 label () () () () Dead block replaced with B73 [hir:v101] <|@
1094 gap () () () () [hir:v101] <|@
1096 gap () () () () [hir:v113] <|@
1098 goto B73 [hir:v113] <|@
end_LIR
end_block
begin_block
name "B73"
from_bci -1
to_bci -1
predecessors "B72" "B70"
successors "B125" "B74"
xhandlers
flags
dominator "B68"
loop_depth 0
first_lir_id 1100
last_lir_id 1106
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v116 BlockEntry type:Tagged pos:304 <|@
0 0 v117 ClassOfTestAndBranch class_of_test(t4, "Function") type:Tagged pos:304 <|@
end_HIR
begin_LIR
1100 label () () () () [hir:v116] <|@
1102 gap () () () () [hir:v116] <|@
1104 gap () () ([rax|R] = [stack:-1];) () [hir:v117] <|@
1106 class-of-test-and-branch if class_of_test([rax|R], "0x171db9915739 <String[8]: Function>") then B125 else B74 [hir:v117] <|@
end_LIR
end_block
begin_block
name "B74"
from_bci -1
to_bci -1
predecessors "B73"
successors "B75"
xhandlers
flags
dominator "B73"
loop_depth 0
first_lir_id 1108
last_lir_id 1114
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v121 BlockEntry type:Tagged pos:304 <|@
0 0 v122 Simulate id=148 type:Tagged pos:304 <|@
0 0 v123 Goto B75 type:Tagged pos:304 <|@
end_HIR
begin_LIR
1108 label () () () () Dead block replaced with B75 [hir:v121] <|@
1110 gap () () () () [hir:v121] <|@
1112 gap () () () () [hir:v123] <|@
1114 goto B75 [hir:v123] <|@
end_LIR
end_block
begin_block
name "B75"
from_bci -1
to_bci -1
predecessors "B74"
successors "B78" "B76"
xhandlers
flags
dominator "B74"
loop_depth 0
first_lir_id 1116
last_lir_id 1122
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v124 BlockEntry type:Tagged pos:343 <|@
0 0 v125 TypeofIsAndBranch t4 == string goto (B78, B76) type:Tagged pos:343 <|@
end_HIR
begin_LIR
1116 label () () () () [hir:v124] <|@
1118 gap () () () () [hir:v124] <|@
1120 gap () ([rbx|R] = [rax|R];) () () [hir:v125] <|@
1122 typeof-is-and-branch if typeof [rbx|R] == "string" then B78 else B76 [hir:v125] <|@
end_LIR
end_block
begin_block
name "B76"
from_bci -1
to_bci -1
predecessors "B75"
successors "B77"
xhandlers
flags
dominator "B75"
loop_depth 0
first_lir_id 1124
last_lir_id 1130
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v129 BlockEntry type:Tagged pos:343 <|@
0 0 v130 Simulate id=177 type:Tagged pos:343 <|@
0 0 v131 Goto B77 type:Tagged pos:343 <|@
end_HIR
begin_LIR
1124 label () () () () Dead block replaced with B77 [hir:v129] <|@
1126 gap () () () () [hir:v129] <|@
1128 gap () () () () [hir:v131] <|@
1130 goto B77 [hir:v131] <|@
end_LIR
end_block
begin_block
name "B77"
from_bci -1
to_bci -1
predecessors "B76"
successors "B80"
xhandlers
flags
dominator "B76"
loop_depth 0
first_lir_id 1132
last_lir_id 1158
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v132 BlockEntry type:Tagged pos:358 <|@
0 1 t133 Constant 0x315a3078e551 <JS Function NonStringToString (SharedFunctionInfo 0x315a30744b19)> pos:358 <|@
0 1 t135 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:358 <|@
0 0 t136 PushArguments t135 t4 type:Tagged pos:358 <|@
0 2 t138 CallJSFunction t133 #2 changes[*] type:Tagged pos:358 <|@
0 0 v139 Simulate id=192 push t138 type:Tagged pos:358 <|@
0 0 v143 Simulate id=174 type:Tagged pos:324 <|@
0 0 v144 Goto B80 type:Tagged pos:324 <|@
end_HIR
begin_LIR
1132 label () () () () [hir:v132] <|@
1134 gap () () () () [hir:v132] <|@
1136 push-argument = [constant:135] [hir:t136] <|@
1138 gap () () () () [hir:t136] <|@
1140 push-argument = [rax|R] [hir:t136] <|@
1142 gap () () () () [hir:t136] <|@
1144 constant-t [rdi|R]= [hir:t133] <|@
1146 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t133] <|@
1148 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:0];[stack:1]} [hir:t138] <|@
1150 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t138] <|@
1152 lazy-bailout = [id=192|deopt_id=9|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v139] <|@
1154 gap () () () () [hir:v139] <|@
1156 gap () ([rax|R];) () () [hir:v144] <|@
1158 goto B80 [hir:v144] <|@
end_LIR
end_block
begin_block
name "B78"
from_bci -1
to_bci -1
predecessors "B75"
successors "B79"
xhandlers
flags
dominator "B75"
loop_depth 0
first_lir_id 1160
last_lir_id 1166
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v126 BlockEntry type:Tagged pos:343 <|@
0 0 v127 Simulate id=176 type:Tagged pos:343 <|@
0 0 v128 Goto B79 type:Tagged pos:343 <|@
end_HIR
begin_LIR
1160 label () () () () Dead block replaced with B79 [hir:v126] <|@
1162 gap () () () () [hir:v126] <|@
1164 gap () () () () [hir:v128] <|@
1166 goto B79 [hir:v128] <|@
end_LIR
end_block
begin_block
name "B79"
from_bci -1
to_bci -1
predecessors "B78"
successors "B80"
xhandlers
flags
dominator "B78"
loop_depth 0
first_lir_id 1168
last_lir_id 1174
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v140 BlockEntry type:Tagged pos:324 <|@
0 0 v141 Simulate id=174 push t4 type:Tagged pos:324 <|@
0 0 v142 Goto B80 type:Tagged pos:324 <|@
end_HIR
begin_LIR
1168 label () () () () [hir:v140] <|@
1170 gap () () () () [hir:v140] <|@
1172 gap () ([rax|R] = [stack:-1];) () () [hir:v142] <|@
1174 goto B80 [hir:v142] <|@
end_LIR
end_block
begin_block
name "B80"
from_bci -1
to_bci -1
predecessors "B79" "B77"
successors "B109" "B81"
xhandlers
flags
dominator "B75"
loop_depth 0
first_lir_id 1176
last_lir_id 1190
begin_states
begin_locals
size 1
method "None"
13 t145 [ t4 t138 uses:7_0s_0i_0d_0t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v146 BlockEntry type:Tagged pos:386 <|@
0 0 t148 CheckMaps t3 [0x3f3d14807649] pos:386 <|@
0 1 t149 LoadNamedField t3.global[in-object]@32 type:Tagged pos:386 <|@
0 0 v150 Branch t149 goto (B109, B81) (Bool) type:Tagged pos:386 <|@
end_HIR
begin_LIR
1176 label () ([stack:2] = [rax|R];) () () [hir:v146] <|@
1178 gap () () ([rbx|R] = [stack:-2];) () [hir:v146] <|@
1180 check-maps = [rbx|R] [id=174|deopt_id=10|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:t148] <|@
1182 gap () () () () [hir:t148] <|@
1184 load-named-field [rdx|R]= [rbx|R] [hir:t149] <|@
1186 gap ((0) = [rdx|R];) () () () [hir:t149] <|@
1188 gap () () () () [hir:v150] <|@
1190 branch B109 | B81 on [rdx|R] [id=174|deopt_id=11|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v150] <|@
end_LIR
end_block
begin_block
name "B81"
from_bci -1
to_bci -1
predecessors "B80"
successors "B82"
xhandlers
flags
dominator "B80"
loop_depth 0
first_lir_id 1192
last_lir_id 1198
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v154 BlockEntry type:Tagged pos:386 <|@
0 0 v155 Simulate id=201 pop 1 / var[2] = t145 type:Tagged pos:386 <|@
0 0 v156 Goto B82 type:Tagged pos:386 <|@
end_HIR
begin_LIR
1192 label () () () () Dead block replaced with B82 [hir:v154] <|@
1194 gap () () () () [hir:v154] <|@
1196 gap () () () () [hir:v156] <|@
1198 goto B82 [hir:v156] <|@
end_LIR
end_block
begin_block
name "B82"
from_bci -1
to_bci -1
predecessors "B81"
successors "B105" "B83"
xhandlers
flags
dominator "B81"
loop_depth 0
first_lir_id 1200
last_lir_id 1234
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v157 BlockEntry type:Tagged pos:402 <|@
0 1 t158 Constant 0x315a3079c461 <JS Function DoRegExpExec (SharedFunctionInfo 0x315a30750c51)> pos:402 <|@
0 1 t162 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:402 <|@
0 5 t650 Constant 0 pos:402 <|@
0 0 t163 PushArguments t162 t3 t78 t650 type:Tagged pos:402 <|@
0 10 t165 CallJSFunction t158 #4 changes[*] type:Tagged pos:402 <|@
0 0 v166 Simulate id=228 push t165 type:Tagged pos:402 <|@
0 0 v170 CompareObjectEqAndBranch t165 t169 goto (B105, B83) type:Tagged pos:426 <|@
end_HIR
begin_LIR
1200 label () () () () [hir:v157] <|@
1202 gap () () () () [hir:v157] <|@
1204 push-argument = [constant:162] [hir:t163] <|@
1206 gap () () () () [hir:t163] <|@
1208 push-argument = [rbx|R] [hir:t163] <|@
1210 gap () () () () [hir:t163] <|@
1212 push-argument = [stack:1] [hir:t163] <|@
1214 gap () () () () [hir:t163] <|@
1216 push-argument = [constant:650] [hir:t163] <|@
1218 gap () () () () [hir:t163] <|@
1220 constant-t [rdi|R]= [hir:t158] <|@
1222 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t158] <|@
1224 call-js-function [rax|R]= [rdi|R]#3 / {[rdi|R];[stack:0];[stack:1];[stack:2]} [hir:t165] <|@
1226 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t165] <|@
1228 lazy-bailout = [id=228|deopt_id=12|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v166] <|@
1230 gap () () () () [hir:v166] <|@
1232 gap () () () () [hir:v170] <|@
1234 cmp-object-eq-and-branch = [rax|R] [constant:169] [hir:v170] <|@
end_LIR
end_block
begin_block
name "B83"
from_bci -1
to_bci -1
predecessors "B82"
successors "B104" "B84"
xhandlers
flags
dominator "B82"
loop_depth 0
first_lir_id 1236
last_lir_id 1242
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v175 BlockEntry type:Tagged pos:426 <|@
0 0 v176 CompareObjectEqAndBranch t165 t6 goto (B104, B84) type:Tagged pos:426 <|@
end_HIR
begin_LIR
1236 label () () () () [hir:v175] <|@
1238 gap () () () () [hir:v175] <|@
1240 gap () () () () [hir:v176] <|@
1242 cmp-object-eq-and-branch = [rax|R] [constant:6] [hir:v176] <|@
end_LIR
end_block
begin_block
name "B84"
from_bci -1
to_bci -1
predecessors "B83"
successors "B103" "B85"
xhandlers
flags
dominator "B83"
loop_depth 0
first_lir_id 1244
last_lir_id 1250
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v179 BlockEntry type:Tagged pos:426 <|@
0 0 v180 IsUndetectableAndBranch t165 goto (B103, B85) type:Tagged pos:426 <|@
end_HIR
begin_LIR
1244 label () () () () [hir:v179] <|@
1246 gap () () () () [hir:v179] <|@
1248 gap () () () () [hir:v180] <|@
1250 is-undetectable-and-branch if is_undetectable([rax|R]) then B103 else B85 [hir:v180] <|@
end_LIR
end_block
begin_block
name "B85"
from_bci -1
to_bci -1
predecessors "B84"
successors "B86"
xhandlers
flags
dominator "B84"
loop_depth 0
first_lir_id 1252
last_lir_id 1258
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v184 BlockEntry type:Tagged pos:426 <|@
0 0 v185 Simulate id=243 pop 1 / var[6] = t165 type:Tagged pos:426 <|@
0 0 v186 Goto B86 type:Tagged pos:426 <|@
end_HIR
begin_LIR
1252 label () () () () Dead block replaced with B86 [hir:v184] <|@
1254 gap () () () () [hir:v184] <|@
1256 gap () () () () [hir:v186] <|@
1258 goto B86 [hir:v186] <|@
end_LIR
end_block
begin_block
name "B86"
from_bci -1
to_bci -1
predecessors "B85"
successors "B87"
xhandlers
flags
dominator "B85"
loop_depth 0
first_lir_id 1260
last_lir_id 1266
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v196 BlockEntry type:Tagged pos:465 <|@
0 0 v197 Deoptimize goto (B87) type:Tagged pos:465 <|@
end_HIR
begin_LIR
1260 label () () () () [hir:v196] <|@
1262 gap () () () () [hir:v196] <|@
1264 gap () () () () [hir:v197] <|@
1266 deoptimize = [id=243|deopt_id=13|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v197] <|@
end_LIR
end_block
begin_block
name "B87"
from_bci -1
to_bci -1
predecessors "B86"
successors "B88"
xhandlers
flags "dead"
dominator "B86"
loop_depth 0
first_lir_id 1268
last_lir_id 1282
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v198 BlockEntry type:Tagged pos:465 <|@
0 2 t199 LoadNamedGeneric t145.length changes[*] type:Tagged pos:465 <|@
0 0 v200 Simulate id=279 push t199 type:Tagged pos:465 <|@
0 0 v202 Deoptimize goto (B88) type:Tagged pos:472 <|@
end_HIR
begin_LIR
1268 label () () () () [hir:v198] <|@
1270 gap () () () () [hir:v198] <|@
1272 dummy-use = [stack:2] [hir:t199] <|@
1274 gap () () () () [hir:t199] <|@
1276 dummy-use [rbx|R]= [stack:0] [hir:t199] <|@
1278 gap ((0) = [rbx|R];) () () () [hir:t199] <|@
1280 gap () () () () [hir:v202] <|@
1282 deoptimize = [id=279|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v202] <|@
end_LIR
end_block
begin_block
name "B88"
from_bci -1
to_bci -1
predecessors "B87"
successors "B96" "B89"
xhandlers
flags "dead"
dominator "B87"
loop_depth 0
first_lir_id 1284
last_lir_id 1302
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v203 BlockEntry type:Tagged pos:472 <|@
0 2 t204 CompareGeneric EQ t199 t650 changes[*] pos:472 <|@
0 0 v205 Simulate id=276 pop 1 / push t204 type:Tagged pos:472 <|@
0 0 v206 Branch t204 goto (B96, B89) (None) type:Tagged pos:472 <|@
end_HIR
begin_LIR
1284 label () () () () [hir:v203] <|@
1286 gap () () () () [hir:v203] <|@
1288 dummy-use = [rbx|R] [hir:t204] <|@
1290 gap () () () () [hir:t204] <|@
1292 dummy-use = [constant:650] [hir:t204] <|@
1294 gap () () () () [hir:t204] <|@
1296 dummy-use [rbx|R]= [stack:0] [hir:t204] <|@
1298 gap ((0) = [rbx|R];) () () () [hir:t204] <|@
1300 gap () () () () [hir:v206] <|@
1302 branch B96 | B89 on [rbx|R] [hir:v206] <|@
end_LIR
end_block
begin_block
name "B89"
from_bci -1
to_bci -1
predecessors "B88"
successors "B90"
xhandlers
flags "dead"
dominator "B88"
loop_depth 0
first_lir_id 1304
last_lir_id 1310
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v210 BlockEntry type:Tagged pos:472 <|@
0 0 v211 Simulate id=275 pop 1 type:Tagged pos:472 <|@
0 0 v212 Goto B90 type:Tagged pos:472 <|@
end_HIR
begin_LIR
1304 label () () () () Dead block replaced with B90 [hir:v210] <|@
1306 gap () () () () [hir:v210] <|@
1308 gap () () () () [hir:v212] <|@
1310 goto B90 [hir:v212] <|@
end_LIR
end_block
begin_block
name "B90"
from_bci -1
to_bci -1
predecessors "B89"
successors "B91"
xhandlers
flags "dead"
dominator "B89"
loop_depth 0
first_lir_id 1312
last_lir_id 1322
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v248 BlockEntry type:Tagged pos:546 <|@
0 2 t249 LoadContextSlot t1[7] type:Tagged pos:546 <|@
0 2 t251 Constant 0x315a30788af9 <JS Array[12]> [map 0x3f3d14809069] pos:568 <|@
0 1 i253 Constant 0 type:Smi pos:604 <|@
0 0 v256 Deoptimize goto (B91) type:Tagged pos:607 <|@
end_HIR
begin_LIR
1312 label () () () () [hir:v248] <|@
1314 gap () () () () [hir:v248] <|@
1316 dummy-use [rbx|R]= [stack:0] [hir:t249] <|@
1318 gap ((0) = [rbx|R];) () () () [hir:t249] <|@
1320 gap () () () () [hir:v256] <|@
1322 deoptimize = [id=275|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v256] <|@
end_LIR
end_block
begin_block
name "B91"
from_bci -1
to_bci -1
predecessors "B90"
successors "B92"
xhandlers
flags "dead"
dominator "B90"
loop_depth 0
first_lir_id 1324
last_lir_id 1386
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v257 BlockEntry type:Tagged pos:607 <|@
0 1 t653 Constant 3 pos:607 <|@
0 2 t258 LoadKeyedGeneric t165[t653] changes[*] type:Tagged pos:607 <|@
0 0 v259 Simulate id=362 push t249, push t6, push t145, push t78, push t251, push t78, push i253, push t258 type:Tagged pos:607 <|@
0 0 t260 PushArguments t78 t650 t258 type:Tagged pos:590 <|@
0 2 t261 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:590 <|@
0 0 v262 Simulate id=354 pop 3 / push t261 type:Tagged pos:590 <|@
0 0 t263 PushArguments t6 t145 t78 t251 t261 type:Tagged pos:546 <|@
0 2 t264 CallFunction t1 t249 (type-feedback-vector icslot 5) changes[*] type:Tagged pos:546 <|@
0 0 v265 Simulate id=342 pop 6 / push t264 type:Tagged pos:546 <|@
0 0 v269 Deoptimize goto (B92) type:Tagged pos:629 <|@
end_HIR
begin_LIR
1324 label () () () () [hir:v257] <|@
1326 gap () () () () [hir:v257] <|@
1328 dummy-use = [constant:653] [hir:t258] <|@
1330 gap () () () () [hir:t258] <|@
1332 dummy-use = [stack:0] [hir:t258] <|@
1334 gap () () () () [hir:t258] <|@
1336 dummy-use [rdx|R]= [rax|R] [hir:t258] <|@
1338 gap ((0) = [rdx|R];) () () () [hir:t258] <|@
1340 dummy-use = [constant:650] [hir:t260] <|@
1342 gap () () () () [hir:t260] <|@
1344 dummy-use = [rdx|R] [hir:t260] <|@
1346 gap () () () () [hir:t260] <|@
1348 dummy-use [rdx|R]= [stack:1] [hir:t260] <|@
1350 gap ((0) = [rdx|R];) () () () [hir:t260] <|@
1352 dummy-use [rdx|R]= [stack:0] [hir:t261] <|@
1354 gap ((0) = [rdx|R];) () () () [hir:t261] <|@
1356 dummy-use = [stack:2] [hir:t263] <|@
1358 gap () () () () [hir:t263] <|@
1360 dummy-use = [stack:1] [hir:t263] <|@
1362 gap () () () () [hir:t263] <|@
1364 dummy-use = [constant:251] [hir:t263] <|@
1366 gap () () () () [hir:t263] <|@
1368 dummy-use = [rdx|R] [hir:t263] <|@
1370 gap () () () () [hir:t263] <|@
1372 dummy-use [rdx|R]= [constant:6] [hir:t263] <|@
1374 gap ((0) = [rdx|R];) () () () [hir:t263] <|@
1376 dummy-use = [rbx|R] [hir:t264] <|@
1378 gap () () () () [hir:t264] <|@
1380 dummy-use [rbx|R]= [stack:0] [hir:t264] <|@
1382 gap ((0) = [rbx|R];) () () () [hir:t264] <|@
1384 gap () () () () [hir:v269] <|@
1386 deoptimize = [id=342|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v269] <|@
end_LIR
end_block
begin_block
name "B92"
from_bci -1
to_bci -1
predecessors "B91"
successors "B93"
xhandlers
flags "dead"
dominator "B91"
loop_depth 0
first_lir_id 1388
last_lir_id 1406
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v270 BlockEntry type:Tagged pos:629 <|@
0 1 t654 Constant 4 pos:629 <|@
0 3 t271 LoadKeyedGeneric t165[t654] changes[*] type:Tagged pos:629 <|@
0 0 v272 Simulate id=376 push t78, push t271 type:Tagged pos:629 <|@
0 0 v274 Deoptimize goto (B93) type:Tagged pos:634 <|@
end_HIR
begin_LIR
1388 label () () () () [hir:v270] <|@
1390 gap () () () () [hir:v270] <|@
1392 dummy-use = [constant:654] [hir:t271] <|@
1394 gap () () () () [hir:t271] <|@
1396 dummy-use = [stack:0] [hir:t271] <|@
1398 gap () () () () [hir:t271] <|@
1400 dummy-use [rdx|R]= [rax|R] [hir:t271] <|@
1402 gap ((0) = [rdx|R];) () () () [hir:t271] <|@
1404 gap () () () () [hir:v274] <|@
1406 deoptimize = [id=376|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[stack:1];[rdx|R]] [hir:v274] <|@
end_LIR
end_block
begin_block
name "B93"
from_bci -1
to_bci -1
predecessors "B92"
successors "B94"
xhandlers
flags "dead"
dominator "B92"
loop_depth 0
first_lir_id 1408
last_lir_id 1438
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v275 BlockEntry type:Tagged pos:634 <|@
0 2 t276 LoadNamedGeneric t78.length changes[*] type:Tagged pos:634 <|@
0 0 v277 Simulate id=385 pop 1 / push t271, push t276 type:Tagged pos:634 <|@
0 0 t278 PushArguments t78 t271 t276 type:Tagged pos:614 <|@
0 2 t279 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:614 <|@
0 0 v280 Simulate id=371 pop 3 / push t279 type:Tagged pos:614 <|@
0 0 v281 Deoptimize goto (B94) type:Tagged pos:612 <|@
end_HIR
begin_LIR
1408 label () () () () [hir:v275] <|@
1410 gap () () () () [hir:v275] <|@
1412 dummy-use = [stack:1] [hir:t276] <|@
1414 gap () () () () [hir:t276] <|@
1416 dummy-use [rcx|R]= [stack:0] [hir:t276] <|@
1418 gap ((0) = [rcx|R];) () () () [hir:t276] <|@
1420 dummy-use = [rdx|R] [hir:t278] <|@
1422 gap () () () () [hir:t278] <|@
1424 dummy-use = [rcx|R] [hir:t278] <|@
1426 gap () () () () [hir:t278] <|@
1428 dummy-use [rdx|R]= [stack:1] [hir:t278] <|@
1430 gap ((0) = [rdx|R];) () () () [hir:t278] <|@
1432 dummy-use [rdx|R]= [stack:0] [hir:t279] <|@
1434 gap ((0) = [rdx|R];) () () () [hir:t279] <|@
1436 gap () () () () [hir:v281] <|@
1438 deoptimize = [id=371|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v281] <|@
end_LIR
end_block
begin_block
name "B94"
from_bci -1
to_bci -1
predecessors "B93"
successors "B95"
xhandlers
flags "dead"
dominator "B93"
loop_depth 0
first_lir_id 1440
last_lir_id 1446
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v282 BlockEntry type:Tagged pos:612 <|@
0 0 v283 Deoptimize goto (B95) type:Tagged pos:612 <|@
end_HIR
begin_LIR
1440 label () () () () [hir:v282] <|@
1442 gap () () () () [hir:v282] <|@
1444 gap () () () () [hir:v283] <|@
1446 deoptimize = [id=371|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v283] <|@
end_LIR
end_block
begin_block
name "B95"
from_bci -1
to_bci -1
predecessors "B94"
successors
xhandlers
flags "dead"
dominator "B94"
loop_depth 0
first_lir_id 1448
last_lir_id 1466
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v284 BlockEntry type:Tagged pos:612 <|@
0 2 t285 Add t264 t279 ! changes[*] pos:612 <|@
0 0 v286 Simulate id=338 pop 2 / push t285 type:Tagged pos:612 <|@
0 1 s655 Constant 2 type:Smi pos:539 <|@
0 0 v288 Return t285 (pop s655 values) type:Tagged pos:539 <|@
end_HIR
begin_LIR
1448 label () () () () [hir:v284] <|@
1450 gap () () () () [hir:v284] <|@
1452 dummy-use = [rbx|R] [hir:t285] <|@
1454 gap () () () () [hir:t285] <|@
1456 dummy-use = [rdx|R] [hir:t285] <|@
1458 gap () () () () [hir:t285] <|@
1460 dummy-use [rax|R]= [stack:0] [hir:t285] <|@
1462 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t285] <|@
1464 return = [rax|R] NULL [constant:655] [hir:v288] <|@
1466 gap () () () () [hir:v288] <|@
end_LIR
end_block
begin_block
name "B96"
from_bci -1
to_bci -1
predecessors "B88"
successors "B97"
xhandlers
flags "dead"
dominator "B88"
loop_depth 0
first_lir_id 1468
last_lir_id 1474
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v207 BlockEntry type:Tagged pos:472 <|@
0 0 v208 Simulate id=274 pop 1 type:Tagged pos:472 <|@
0 0 v209 Goto B97 type:Tagged pos:472 <|@
end_HIR
begin_LIR
1468 label () () () () Dead block replaced with B97 [hir:v207] <|@
1470 gap () () () () [hir:v207] <|@
1472 gap () () () () [hir:v209] <|@
1474 goto B97 [hir:v209] <|@
end_LIR
end_block
begin_block
name "B97"
from_bci -1
to_bci -1
predecessors "B96"
successors "B98"
xhandlers
flags "dead"
dominator "B96"
loop_depth 0
first_lir_id 1476
last_lir_id 1482
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v213 BlockEntry type:Tagged pos:497 <|@
0 1 i215 Constant 0 type:Smi pos:499 <|@
0 0 v218 Deoptimize goto (B98) type:Tagged pos:502 <|@
end_HIR
begin_LIR
1476 label () () () () [hir:v213] <|@
1478 gap () () () () [hir:v213] <|@
1480 gap () () () () [hir:v218] <|@
1482 deoptimize = [id=274|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v218] <|@
end_LIR
end_block
begin_block
name "B98"
from_bci -1
to_bci -1
predecessors "B97"
successors "B99"
xhandlers
flags "dead"
dominator "B97"
loop_depth 0
first_lir_id 1484
last_lir_id 1518
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v219 BlockEntry type:Tagged pos:502 <|@
0 1 t657 Constant 3 pos:502 <|@
0 2 t220 LoadKeyedGeneric t165[t657] changes[*] type:Tagged pos:502 <|@
0 0 v221 Simulate id=306 push t78, push i215, push t220 type:Tagged pos:502 <|@
0 0 t222 PushArguments t78 t650 t220 type:Tagged pos:485 <|@
0 2 t223 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:485 <|@
0 0 v224 Simulate id=298 pop 3 / push t223 type:Tagged pos:485 <|@
0 0 v228 Deoptimize goto (B99) type:Tagged pos:523 <|@
end_HIR
begin_LIR
1484 label () () () () [hir:v219] <|@
1486 gap () () () () [hir:v219] <|@
1488 dummy-use = [constant:657] [hir:t220] <|@
1490 gap () () () () [hir:t220] <|@
1492 dummy-use = [stack:0] [hir:t220] <|@
1494 gap () () () () [hir:t220] <|@
1496 dummy-use [rbx|R]= [rax|R] [hir:t220] <|@
1498 gap ((0) = [rbx|R];) () () () [hir:t220] <|@
1500 dummy-use = [constant:650] [hir:t222] <|@
1502 gap () () () () [hir:t222] <|@
1504 dummy-use = [rbx|R] [hir:t222] <|@
1506 gap () () () () [hir:t222] <|@
1508 dummy-use [rbx|R]= [stack:1] [hir:t222] <|@
1510 gap ((0) = [rbx|R];) () () () [hir:t222] <|@
1512 dummy-use [rbx|R]= [stack:0] [hir:t223] <|@
1514 gap ((0) = [rbx|R];) () () () [hir:t223] <|@
1516 gap () () () () [hir:v228] <|@
1518 deoptimize = [id=298|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R]] [hir:v228] <|@
end_LIR
end_block
begin_block
name "B99"
from_bci -1
to_bci -1
predecessors "B98"
successors "B100"
xhandlers
flags "dead"
dominator "B98"
loop_depth 0
first_lir_id 1520
last_lir_id 1538
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v229 BlockEntry type:Tagged pos:523 <|@
0 1 t658 Constant 4 pos:523 <|@
0 3 t230 LoadKeyedGeneric t165[t658] changes[*] type:Tagged pos:523 <|@
0 0 v231 Simulate id=320 push t78, push t230 type:Tagged pos:523 <|@
0 0 v233 Deoptimize goto (B100) type:Tagged pos:528 <|@
end_HIR
begin_LIR
1520 label () () () () [hir:v229] <|@
1522 gap () () () () [hir:v229] <|@
1524 dummy-use = [constant:658] [hir:t230] <|@
1526 gap () () () () [hir:t230] <|@
1528 dummy-use = [stack:0] [hir:t230] <|@
1530 gap () () () () [hir:t230] <|@
1532 dummy-use [rdx|R]= [rax|R] [hir:t230] <|@
1534 gap ((0) = [rdx|R];) () () () [hir:t230] <|@
1536 gap () () () () [hir:v233] <|@
1538 deoptimize = [id=320|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[stack:1];[rdx|R]] [hir:v233] <|@
end_LIR
end_block
begin_block
name "B100"
from_bci -1
to_bci -1
predecessors "B99"
successors "B101"
xhandlers
flags "dead"
dominator "B99"
loop_depth 0
first_lir_id 1540
last_lir_id 1570
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v234 BlockEntry type:Tagged pos:528 <|@
0 2 t235 LoadNamedGeneric t78.length changes[*] type:Tagged pos:528 <|@
0 0 v236 Simulate id=329 pop 1 / push t230, push t235 type:Tagged pos:528 <|@
0 0 t237 PushArguments t78 t230 t235 type:Tagged pos:508 <|@
0 2 t238 CallStub SubStringStub t1 #3 changes[*] type:Tagged pos:508 <|@
0 0 v239 Simulate id=315 pop 3 / push t238 type:Tagged pos:508 <|@
0 0 v240 Deoptimize goto (B101) type:Tagged pos:506 <|@
end_HIR
begin_LIR
1540 label () () () () [hir:v234] <|@
1542 gap () () () () [hir:v234] <|@
1544 dummy-use = [stack:1] [hir:t235] <|@
1546 gap () () () () [hir:t235] <|@
1548 dummy-use [rcx|R]= [stack:0] [hir:t235] <|@
1550 gap ((0) = [rcx|R];) () () () [hir:t235] <|@
1552 dummy-use = [rdx|R] [hir:t237] <|@
1554 gap () () () () [hir:t237] <|@
1556 dummy-use = [rcx|R] [hir:t237] <|@
1558 gap () () () () [hir:t237] <|@
1560 dummy-use [rdx|R]= [stack:1] [hir:t237] <|@
1562 gap ((0) = [rdx|R];) () () () [hir:t237] <|@
1564 dummy-use [rdx|R]= [stack:0] [hir:t238] <|@
1566 gap ((0) = [rdx|R];) () () () [hir:t238] <|@
1568 gap () () () () [hir:v240] <|@
1570 deoptimize = [id=315|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v240] <|@
end_LIR
end_block
begin_block
name "B101"
from_bci -1
to_bci -1
predecessors "B100"
successors "B102"
xhandlers
flags "dead"
dominator "B100"
loop_depth 0
first_lir_id 1572
last_lir_id 1578
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v241 BlockEntry type:Tagged pos:506 <|@
0 0 v242 Deoptimize goto (B102) type:Tagged pos:506 <|@
end_HIR
begin_LIR
1572 label () () () () [hir:v241] <|@
1574 gap () () () () [hir:v241] <|@
1576 gap () () () () [hir:v242] <|@
1578 deoptimize = [id=315|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rbx|R];[rdx|R]] [hir:v242] <|@
end_LIR
end_block
begin_block
name "B102"
from_bci -1
to_bci -1
predecessors "B101"
successors
xhandlers
flags "dead"
dominator "B101"
loop_depth 0
first_lir_id 1580
last_lir_id 1598
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v243 BlockEntry type:Tagged pos:506 <|@
0 2 t244 Add t223 t238 ! changes[*] pos:506 <|@
0 0 v245 Simulate id=294 pop 2 / push t244 type:Tagged pos:506 <|@
0 1 s659 Constant 2 type:Smi pos:478 <|@
0 0 v247 Return t244 (pop s659 values) type:Tagged pos:478 <|@
end_HIR
begin_LIR
1580 label () () () () [hir:v243] <|@
1582 gap () () () () [hir:v243] <|@
1584 dummy-use = [rbx|R] [hir:t244] <|@
1586 gap () () () () [hir:t244] <|@
1588 dummy-use = [rdx|R] [hir:t244] <|@
1590 gap () () () () [hir:t244] <|@
1592 dummy-use [rax|R]= [stack:0] [hir:t244] <|@
1594 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t244] <|@
1596 return = [rax|R] NULL [constant:659] [hir:v247] <|@
1598 gap () () () () [hir:v247] <|@
end_LIR
end_block
begin_block
name "B103"
from_bci -1
to_bci -1
predecessors "B84"
successors "B106"
xhandlers
flags
dominator "B84"
loop_depth 0
first_lir_id 1600
last_lir_id 1606
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v177 BlockEntry type:Tagged pos:426 <|@
0 0 v178 Goto B106 type:Tagged pos:426 <|@
end_HIR
begin_LIR
1600 label () () () () Dead block replaced with B106 [hir:v177] <|@
1602 gap () () () () [hir:v177] <|@
1604 gap () () () () [hir:v178] <|@
1606 goto B106 [hir:v178] <|@
end_LIR
end_block
begin_block
name "B104"
from_bci -1
to_bci -1
predecessors "B83"
successors "B106"
xhandlers
flags
dominator "B83"
loop_depth 0
first_lir_id 1608
last_lir_id 1614
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v173 BlockEntry type:Tagged pos:426 <|@
0 0 v174 Goto B106 type:Tagged pos:426 <|@
end_HIR
begin_LIR
1608 label () () () () Dead block replaced with B106 [hir:v173] <|@
1610 gap () () () () [hir:v173] <|@
1612 gap () () () () [hir:v174] <|@
1614 goto B106 [hir:v174] <|@
end_LIR
end_block
begin_block
name "B105"
from_bci -1
to_bci -1
predecessors "B82"
successors "B106"
xhandlers
flags
dominator "B82"
loop_depth 0
first_lir_id 1616
last_lir_id 1622
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v171 BlockEntry type:Tagged pos:426 <|@
0 0 v172 Goto B106 type:Tagged pos:426 <|@
end_HIR
begin_LIR
1616 label () () () () Dead block replaced with B106 [hir:v171] <|@
1618 gap () () () () [hir:v171] <|@
1620 gap () () () () [hir:v172] <|@
1622 goto B106 [hir:v172] <|@
end_LIR
end_block
begin_block
name "B106"
from_bci -1
to_bci -1
predecessors "B105" "B104" "B103"
successors "B107"
xhandlers
flags
dominator "B82"
loop_depth 0
first_lir_id 1624
last_lir_id 1630
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v181 BlockEntry type:Tagged pos:426 <|@
0 0 v182 Simulate id=242 pop 1 / var[6] = t165 type:Tagged pos:426 <|@
0 0 v183 Goto B107 type:Tagged pos:426 <|@
end_HIR
begin_LIR
1624 label () () () () Dead block replaced with B107 [hir:v181] <|@
1626 gap () () () () [hir:v181] <|@
1628 gap () () () () [hir:v183] <|@
1630 goto B107 [hir:v183] <|@
end_LIR
end_block
begin_block
name "B107"
from_bci -1
to_bci -1
predecessors "B106"
successors "B108"
xhandlers
flags
dominator "B106"
loop_depth 0
first_lir_id 1632
last_lir_id 1638
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v187 BlockEntry type:Tagged pos:447 <|@
0 0 v189 Deoptimize goto (B108) type:Tagged pos:446 <|@
end_HIR
begin_LIR
1632 label () () () () [hir:v187] <|@
1634 gap () () () () [hir:v187] <|@
1636 gap () () () () [hir:v189] <|@
1638 deoptimize = [id=242|deopt_id=14|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[stack:1];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v189] <|@
end_LIR
end_block
begin_block
name "B108"
from_bci -1
to_bci -1
predecessors "B107"
successors
xhandlers
flags "dead"
dominator "B107"
loop_depth 0
first_lir_id 1640
last_lir_id 1658
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v190 BlockEntry type:Tagged pos:446 <|@
0 0 v191 StoreNamedGeneric t3.lastIndex = t650 changes[*] type:Tagged pos:446 <|@
0 0 v192 Simulate id=255 type:Tagged pos:446 <|@
0 1 s661 Constant 2 type:Smi pos:449 <|@
0 0 v195 Return t78 (pop s661 values) type:Tagged pos:449 <|@
end_HIR
begin_LIR
1640 label () () () () [hir:v190] <|@
1642 gap () () () () [hir:v190] <|@
1644 dummy-use = [constant:650] [hir:v191] <|@
1646 gap () () () () [hir:v191] <|@
1648 dummy-use = [stack:0] [hir:v191] <|@
1650 gap () () () () [hir:v191] <|@
1652 dummy-use [rax|R]= [stack:-2] [hir:v191] <|@
1654 gap ((0) = [rax|R];) ([rax|R] = [stack:1];) () () [hir:v191] <|@
1656 return = [rax|R] NULL [constant:661] [hir:v195] <|@
1658 gap () () () () [hir:v195] <|@
end_LIR
end_block
begin_block
name "B109"
from_bci -1
to_bci -1
predecessors "B80"
successors "B110"
xhandlers
flags
dominator "B80"
loop_depth 0
first_lir_id 1660
last_lir_id 1666
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v151 BlockEntry type:Tagged pos:386 <|@
0 0 v152 Simulate id=202 pop 1 / var[2] = t145 type:Tagged pos:386 <|@
0 0 v153 Goto B110 type:Tagged pos:386 <|@
end_HIR
begin_LIR
1660 label () () () () Dead block replaced with B110 [hir:v151] <|@
1662 gap () () () () [hir:v151] <|@
1664 gap () () () () [hir:v153] <|@
1666 goto B110 [hir:v153] <|@
end_LIR
end_block
begin_block
name "B110"
from_bci -1
to_bci -1
predecessors "B109"
successors "B123" "B111"
xhandlers
flags
dominator "B109"
loop_depth 0
first_lir_id 1668
last_lir_id 1682
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v289 BlockEntry type:Tagged pos:658 <|@
0 2 t662 Constant 0 pos:657 <|@
0 0 v293 StoreNamedField t3.lastIndex[in-object]@56 = t662 (write-barrier) changes[InobjectFields] type:Tagged pos:657 <|@
0 0 v294 Simulate id=394 type:Tagged pos:657 <|@
0 0 v296 CompareObjectEqAndBranch t169 t169 goto (B123, B111) type:Tagged pos:692 <|@
end_HIR
begin_LIR
1668 label () () () () [hir:v289] <|@
1670 gap () () () () [hir:v289] <|@
1672 constant-t [rax|R]= [hir:t662] <|@
1674 gap ((0) = [rax|R];) ([rax|R];) ([rbx|R] = [stack:-2];) () [hir:t662] <|@
1676 store-named-field [rbx|R].lastIndex[in-object]@56 <- [rax|R] [hir:v293] <|@
1678 gap () () () () [hir:v293] <|@
1680 gap () () () () [hir:v296] <|@
1682 goto B123 [hir:v296] <|@
end_LIR
end_block
begin_block
name "B111"
from_bci -1
to_bci -1
predecessors "B110"
successors "B112"
xhandlers
flags "dead"
dominator "B110"
loop_depth 0
first_lir_id 1684
last_lir_id 1690
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v297 BlockEntry type:Tagged pos:692 <|@
0 0 v298 Deoptimize goto (B112) type:Tagged pos:692 <|@
end_HIR
begin_LIR
1684 label () () () () [hir:v297] <|@
1686 gap () () () () [hir:v297] <|@
1688 gap () () () () [hir:v298] <|@
1690 deoptimize = [id=394|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:2];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v298] <|@
end_LIR
end_block
begin_block
name "B112"
from_bci -1
to_bci -1
predecessors "B111"
successors "B113"
xhandlers
flags "dead"
dominator "B111"
loop_depth 0
first_lir_id 1692
last_lir_id 1698
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v302 BlockEntry type:Tagged pos:692 <|@
0 0 v303 Simulate id=412 type:Tagged pos:692 <|@
0 0 v304 Goto B113 type:Tagged pos:692 <|@
end_HIR
begin_LIR
1692 label () () () () Dead block replaced with B113 [hir:v302] <|@
1694 gap () () () () [hir:v302] <|@
1696 gap () () () () [hir:v304] <|@
1698 goto B113 [hir:v304] <|@
end_LIR
end_block
begin_block
name "B113"
from_bci -1
to_bci -1
predecessors "B112"
successors "B114"
xhandlers
flags "dead"
dominator "B112"
loop_depth 0
first_lir_id 1700
last_lir_id 1706
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v313 BlockEntry type:Tagged pos:788 <|@
0 5 t314 Constant 0x315a30788af9 <JS Array[12]> [map 0x3f3d14809069] pos:788 <|@
0 0 v316 Deoptimize goto (B114) type:Tagged pos:808 <|@
end_HIR
begin_LIR
1700 label () () () () [hir:v313] <|@
1702 gap () () () () [hir:v313] <|@
1704 gap () () () () [hir:v316] <|@
1706 deoptimize = [id=412|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:2];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v316] <|@
end_LIR
end_block
begin_block
name "B114"
from_bci -1
to_bci -1
predecessors "B113"
successors "B115"
xhandlers
flags "dead"
dominator "B113"
loop_depth 0
first_lir_id 1708
last_lir_id 1726
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v317 BlockEntry type:Tagged pos:808 <|@
0 4 t663 Constant 1 pos:808 <|@
0 3 t318 LoadKeyedGeneric t314[t663] changes[*] type:Tagged pos:808 <|@
0 0 v319 Simulate id=447 push t318 type:Tagged pos:808 <|@
0 0 v324 Deoptimize goto (B115) type:Tagged pos:836 <|@
end_HIR
begin_LIR
1708 label () () () () [hir:v317] <|@
1710 gap () () () () [hir:v317] <|@
1712 dummy-use = [constant:663] [hir:t318] <|@
1714 gap () () () () [hir:t318] <|@
1716 dummy-use = [stack:0] [hir:t318] <|@
1718 gap () () () () [hir:t318] <|@
1720 dummy-use [rax|R]= [constant:314] [hir:t318] <|@
1722 gap ((0) = [rax|R];) () () () [hir:t318] <|@
1724 gap () () () () [hir:v324] <|@
1726 deoptimize = [id=447|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:2];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v324] <|@
end_LIR
end_block
begin_block
name "B115"
from_bci -1
to_bci -1
predecessors "B114"
successors "B116"
xhandlers
flags "dead"
dominator "B114"
loop_depth 0
first_lir_id 1728
last_lir_id 1770
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v325 BlockEntry type:Tagged pos:836 <|@
0 0 v326 StoreKeyedGeneric t314[t663] = t662 changes[*] type:Tagged pos:836 <|@
0 0 v327 Simulate id=456 pop 1 / var[7] = t318 type:Tagged pos:836 <|@
0 0 t330 PushArguments t78 t3 t145 t314 type:Tagged pos:846 <|@
0 3 t331 CallRuntime StringReplaceGlobalRegExpWithString #4 changes[*] type:Tagged pos:846 <|@
0 0 v332 Simulate id=481 var[4] = t6, push t331 type:Tagged pos:846 <|@
0 0 v336 Deoptimize goto (B116) type:Tagged pos:944 <|@
end_HIR
begin_LIR
1728 label () () () () [hir:v325] <|@
1730 gap () () () () [hir:v325] <|@
1732 dummy-use = [constant:663] [hir:v326] <|@
1734 gap () () () () [hir:v326] <|@
1736 dummy-use = [constant:662] [hir:v326] <|@
1738 gap () () () () [hir:v326] <|@
1740 dummy-use = [stack:0] [hir:v326] <|@
1742 gap () () () () [hir:v326] <|@
1744 dummy-use [rdx|R]= [constant:314] [hir:v326] <|@
1746 gap ((0) = [rdx|R];) () () () [hir:v326] <|@
1748 dummy-use = [rbx|R] [hir:t330] <|@
1750 gap () () () () [hir:t330] <|@
1752 dummy-use = [stack:2] [hir:t330] <|@
1754 gap () () () () [hir:t330] <|@
1756 dummy-use = [constant:314] [hir:t330] <|@
1758 gap () () () () [hir:t330] <|@
1760 dummy-use [rdx|R]= [stack:1] [hir:t330] <|@
1762 gap ((0) = [rdx|R];) () () () [hir:t330] <|@
1764 dummy-use [rdx|R]= [stack:0] [hir:t331] <|@
1766 gap ((0) = [rdx|R];) () () () [hir:t331] <|@
1768 gap () () () () [hir:v336] <|@
1770 deoptimize = [id=481|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:2];[stack:0];[constant:6];[constant:6];[constant:6];[rax|R];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rdx|R]] [hir:v336] <|@
end_LIR
end_block
begin_block
name "B116"
from_bci -1
to_bci -1
predecessors "B115"
successors "B119" "B117"
xhandlers
flags "dead"
dominator "B115"
loop_depth 0
first_lir_id 1772
last_lir_id 1790
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v337 BlockEntry type:Tagged pos:944 <|@
0 2 t338 LoadKeyedGeneric t314[t663] changes[*] type:Tagged pos:944 <|@
0 0 v339 Simulate id=498 pop 1 / var[8] = t331, push t338 type:Tagged pos:944 <|@
0 0 t340 IsSmiAndBranch t338 goto (B119, B117) type:Tagged pos:916 <|@
end_HIR
begin_LIR
1772 label () () () () [hir:v337] <|@
1774 gap () () () () [hir:v337] <|@
1776 dummy-use = [constant:663] [hir:t338] <|@
1778 gap () () () () [hir:t338] <|@
1780 dummy-use = [stack:0] [hir:t338] <|@
1782 gap () () () () [hir:t338] <|@
1784 dummy-use [rcx|R]= [constant:314] [hir:t338] <|@
1786 gap ((0) = [rcx|R];) () () () [hir:t338] <|@
1788 gap () () () () [hir:t340] <|@
1790 is-smi-and-branch if is_smi([rcx|R]) then B119 else B117 [hir:t340] <|@
end_LIR
end_block
begin_block
name "B117"
from_bci -1
to_bci -1
predecessors "B116"
successors "B118"
xhandlers
flags "dead"
dominator "B116"
loop_depth 0
first_lir_id 1792
last_lir_id 1798
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v344 BlockEntry type:Tagged pos:916 <|@
0 0 v345 Simulate id=494 pop 1 / var[7] = t6 type:Tagged pos:916 <|@
0 0 v346 Goto B118 type:Tagged pos:916 <|@
end_HIR
begin_LIR
1792 label () () () () Dead block replaced with B118 [hir:v344] <|@
1794 gap () () () () [hir:v344] <|@
1796 gap () () () () [hir:v346] <|@
1798 goto B118 [hir:v346] <|@
end_LIR
end_block
begin_block
name "B118"
from_bci -1
to_bci -1
predecessors "B117"
successors "B122"
xhandlers
flags "dead"
dominator "B117"
loop_depth 0
first_lir_id 1800
last_lir_id 1818
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v355 BlockEntry type:Tagged pos:1014 <|@
0 2 t357 Constant 0x315a3079ba51 PropertyCell for 0x315a30704101 <null> [map 0x3f3d148045d1] pos:1013 <|@
0 0 v358 StoreNamedField t357.[in-object]@8 = t169 changes[GlobalVars] type:Tagged pos:1013 <|@
0 0 v359 Simulate id=530 push t169 type:Tagged pos:1013 <|@
0 0 v362 Simulate id=492 pop 1 type:Tagged pos:913 <|@
0 0 v363 Goto B122 type:Tagged pos:913 <|@
end_HIR
begin_LIR
1800 label () () () () [hir:v355] <|@
1802 gap () () () () [hir:v355] <|@
1804 dummy-use = [constant:169] [hir:v358] <|@
1806 gap () () () () [hir:v358] <|@
1808 dummy-use = [constant:357] [hir:v358] <|@
1810 gap () () () () [hir:v358] <|@
1812 dummy-use [rax|R]= [constant:357] [hir:v358] <|@
1814 gap ((0) = [rax|R];) () () () [hir:v358] <|@
1816 gap () () () () [hir:v363] <|@
1818 goto B122 [hir:v363] <|@
end_LIR
end_block
begin_block
name "B119"
from_bci -1
to_bci -1
predecessors "B116"
successors "B120"
xhandlers
flags "dead"
dominator "B116"
loop_depth 0
first_lir_id 1820
last_lir_id 1826
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v341 BlockEntry type:Tagged pos:916 <|@
0 0 v342 Simulate id=493 pop 1 type:Tagged pos:916 <|@
0 0 v343 Goto B120 type:Tagged pos:916 <|@
end_HIR
begin_LIR
1820 label () () () () Dead block replaced with B120 [hir:v341] <|@
1822 gap () () () () [hir:v341] <|@
1824 gap () () () () [hir:v343] <|@
1826 goto B120 [hir:v343] <|@
end_LIR
end_block
begin_block
name "B120"
from_bci -1
to_bci -1
predecessors "B119"
successors "B121"
xhandlers
flags "dead"
dominator "B119"
loop_depth 0
first_lir_id 1828
last_lir_id 1834
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v347 BlockEntry type:Tagged pos:951 <|@
0 0 v351 Deoptimize goto (B121) type:Tagged pos:974 <|@
end_HIR
begin_LIR
1828 label () () () () [hir:v347] <|@
1830 gap () () () () [hir:v347] <|@
1832 gap () () () () [hir:v351] <|@
1834 deoptimize = [id=493|parameters=3|arguments_stack_height=0|[stack:-3];[rbx|R];[stack:2];[stack:0];[constant:6];[constant:6];[constant:6];[rax|R];[rdx|R];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v351] <|@
end_LIR
end_block
begin_block
name "B121"
from_bci -1
to_bci -1
predecessors "B120"
successors "B122"
xhandlers
flags "dead"
dominator "B120"
loop_depth 0
first_lir_id 1836
last_lir_id 1858
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v352 BlockEntry type:Tagged pos:974 <|@
0 0 v353 StoreKeyedGeneric t314[t663] = t318 changes[*] type:Tagged pos:974 <|@
0 0 v354 Simulate id=510 type:Tagged pos:974 <|@
0 0 v360 Simulate id=492 type:Tagged pos:913 <|@
0 0 v361 Goto B122 type:Tagged pos:913 <|@
end_HIR
begin_LIR
1836 label () () () () [hir:v352] <|@
1838 gap () () () () [hir:v352] <|@
1840 dummy-use = [constant:663] [hir:v353] <|@
1842 gap () () () () [hir:v353] <|@
1844 dummy-use = [rax|R] [hir:v353] <|@
1846 gap () () () () [hir:v353] <|@
1848 dummy-use = [stack:0] [hir:v353] <|@
1850 gap () () () () [hir:v353] <|@
1852 dummy-use [rax|R]= [constant:314] [hir:v353] <|@
1854 gap ((0) = [rax|R];) () () () [hir:v353] <|@
1856 gap () () () () [hir:v361] <|@
1858 goto B122 [hir:v361] <|@
end_LIR
end_block
begin_block
name "B122"
from_bci -1
to_bci -1
predecessors "B121" "B118"
successors
xhandlers
flags "dead"
dominator "B116"
loop_depth 0
first_lir_id 1860
last_lir_id 1866
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v364 BlockEntry type:Tagged pos:1029 <|@
0 1 s668 Constant 2 type:Smi pos:1022 <|@
0 0 v367 Return t331 (pop s668 values) type:Tagged pos:1022 <|@
end_HIR
begin_LIR
1860 label () () () () [hir:v364] <|@
1862 gap () ([rax|R] = [rdx|R];) () () [hir:v364] <|@
1864 return = [rax|R] NULL [constant:668] [hir:v367] <|@
1866 gap () () () () [hir:v367] <|@
end_LIR
end_block
begin_block
name "B123"
from_bci -1
to_bci -1
predecessors "B110"
successors "B124"
xhandlers
flags
dominator "B110"
loop_depth 0
first_lir_id 1868
last_lir_id 1874
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v299 BlockEntry type:Tagged pos:692 <|@
0 0 v300 Simulate id=411 type:Tagged pos:692 <|@
0 0 v301 Goto B124 type:Tagged pos:692 <|@
end_HIR
begin_LIR
1868 label () () () () Dead block replaced with B124 [hir:v299] <|@
1870 gap () () () () [hir:v299] <|@
1872 gap () () () () [hir:v301] <|@
1874 goto B124 [hir:v301] <|@
end_LIR
end_block
begin_block
name "B124"
from_bci -1
to_bci -1
predecessors "B123"
successors
xhandlers
flags
dominator "B123"
loop_depth 0
first_lir_id 1876
last_lir_id 1906
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v305 BlockEntry type:Tagged pos:746 <|@
0 1 t307 Constant 0x315a30788af9 <JS Array[12]> [map 0x3f3d14809069] pos:752 <|@
0 0 t308 PushArguments t78 t3 t145 t307 type:Tagged pos:708 <|@
0 2 t309 CallRuntime StringReplaceGlobalRegExpWithString #4 changes[*] type:Tagged pos:708 <|@
0 0 v310 Simulate id=424 var[4] = t6, push t309 type:Tagged pos:708 <|@
0 1 s669 Constant 2 type:Smi pos:701 <|@
0 0 v312 Return t309 (pop s669 values) type:Tagged pos:701 <|@
end_HIR
begin_LIR
1876 label () () () () [hir:v305] <|@
1878 gap () () () () [hir:v305] <|@
1880 push-argument = [stack:1] [hir:t308] <|@
1882 gap () () () () [hir:t308] <|@
1884 push-argument = [rbx|R] [hir:t308] <|@
1886 gap () () () () [hir:t308] <|@
1888 push-argument = [stack:2] [hir:t308] <|@
1890 gap () () () () [hir:t308] <|@
1892 push-argument = [constant:307] [hir:t308] <|@
1894 gap () ([rsi|R] = [stack:0];) () () [hir:t308] <|@
1896 call-runtime [rax|R]= [rsi|R] {[rsi|R];[stack:0];[stack:2]} [hir:t309] <|@
1898 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t309] <|@
1900 lazy-bailout = [id=424|deopt_id=15|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:2];[stack:0];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[rax|R]] [hir:v310] <|@
1902 gap () ([rax|R];) () () [hir:v310] <|@
1904 return = [rax|R] NULL [constant:669] [hir:v312] <|@
1906 gap () () () () [hir:v312] <|@
end_LIR
end_block
begin_block
name "B125"
from_bci -1
to_bci -1
predecessors "B73"
successors "B126"
xhandlers
flags
dominator "B73"
loop_depth 0
first_lir_id 1908
last_lir_id 1914
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v118 BlockEntry type:Tagged pos:304 <|@
0 0 v119 Simulate id=149 type:Tagged pos:304 <|@
0 0 v120 Goto B126 type:Tagged pos:304 <|@
end_HIR
begin_LIR
1908 label () () () () Dead block replaced with B126 [hir:v118] <|@
1910 gap () () () () [hir:v118] <|@
1912 gap () () () () [hir:v120] <|@
1914 goto B126 [hir:v120] <|@
end_LIR
end_block
begin_block
name "B126"
from_bci -1
to_bci -1
predecessors "B125"
successors "B127"
xhandlers
flags
dominator "B125"
loop_depth 0
first_lir_id 1916
last_lir_id 1922
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v368 BlockEntry type:Tagged pos:1040 <|@
0 0 v369 Deoptimize goto (B127) type:Tagged pos:1040 <|@
end_HIR
begin_LIR
1916 label () () () () [hir:v368] <|@
1918 gap () () () () [hir:v368] <|@
1920 gap () () () () [hir:v369] <|@
1922 deoptimize = [id=149|deopt_id=16|parameters=3|arguments_stack_height=0|[stack:-3];[stack:-2];[stack:-1];[stack:0];[stack:1];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6];[constant:6]] [hir:v369] <|@
end_LIR
end_block
begin_block
name "B127"
from_bci -1
to_bci -1
predecessors "B126"
successors "B130" "B128"
xhandlers
flags "dead"
dominator "B126"
loop_depth 0
first_lir_id 1924
last_lir_id 1938
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v370 BlockEntry type:Tagged pos:1040 <|@
0 2 t371 LoadNamedGeneric t3.global changes[*] type:Tagged pos:1040 <|@
0 0 v372 Simulate id=542 push t371 type:Tagged pos:1040 <|@
0 0 v373 Branch t371 goto (B130, B128) (None) type:Tagged pos:1040 <|@
end_HIR
begin_LIR
1924 label () () () () [hir:v370] <|@
1926 gap () () () () [hir:v370] <|@
1928 dummy-use = [stack:-2] [hir:t371] <|@
1930 gap () () () () [hir:t371] <|@
1932 dummy-use [rax|R]= [stack:0] [hir:t371] <|@
1934 gap ((0) = [rax|R];) () () () [hir:t371] <|@
1936 gap () () () () [hir:v373] <|@
1938 branch B130 | B128 on [rax|R] [hir:v373] <|@
end_LIR
end_block
begin_block
name "B128"
from_bci -1
to_bci -1
predecessors "B127"
successors "B129"
xhandlers
flags "dead"
dominator "B127"
loop_depth 0
first_lir_id 1940
last_lir_id 1946
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v377 BlockEntry type:Tagged pos:1040 <|@
0 0 v378 Simulate id=541 pop 1 type:Tagged pos:1040 <|@
0 0 v379 Goto B129 type:Tagged pos:1040 <|@
end_HIR
begin_LIR
1940 label () () () () Dead block replaced with B129 [hir:v377] <|@
1942 gap () () () () [hir:v377] <|@
1944 gap () () () () [hir:v379] <|@
1946 goto B129 [hir:v379] <|@
end_LIR
end_block
begin_block
name "B129"
from_bci -1
to_bci -1
predecessors "B128"
successors
xhandlers
flags "dead"
dominator "B128"
loop_depth 0
first_lir_id 1948
last_lir_id 1982
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v388 BlockEntry type:Tagged pos:1112 <|@
0 1 t389 LoadContextSlot t1[11] type:Tagged pos:1112 <|@
0 0 t391 PushArguments t6 t78 t3 t4 type:Tagged pos:1112 <|@
0 2 t392 CallFunction t1 t389 (type-feedback-vector icslot 7) changes[*] type:Tagged pos:1112 <|@
0 0 v393 Simulate id=566 var[4] = t6, push t392 type:Tagged pos:1112 <|@
0 1 s670 Constant 2 type:Smi pos:1105 <|@
0 0 v395 Return t392 (pop s670 values) type:Tagged pos:1105 <|@
end_HIR
begin_LIR
1948 label () () () () [hir:v388] <|@
1950 gap () () () () [hir:v388] <|@
1952 dummy-use [rax|R]= [stack:0] [hir:t389] <|@
1954 gap ((0) = [rax|R];) () () () [hir:t389] <|@
1956 dummy-use = [stack:1] [hir:t391] <|@
1958 gap () () () () [hir:t391] <|@
1960 dummy-use = [stack:-2] [hir:t391] <|@
1962 gap () () () () [hir:t391] <|@
1964 dummy-use = [stack:-1] [hir:t391] <|@
1966 gap () () () () [hir:t391] <|@
1968 dummy-use [rbx|R]= [constant:6] [hir:t391] <|@
1970 gap ((0) = [rbx|R];) () () () [hir:t391] <|@
1972 dummy-use = [rax|R] [hir:t392] <|@
1974 gap () () () () [hir:t392] <|@
1976 dummy-use [rax|R]= [stack:0] [hir:t392] <|@
1978 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t392] <|@
1980 return = [rax|R] NULL [constant:670] [hir:v395] <|@
1982 gap () () () () [hir:v395] <|@
end_LIR
end_block
begin_block
name "B130"
from_bci -1
to_bci -1
predecessors "B127"
successors "B131"
xhandlers
flags "dead"
dominator "B127"
loop_depth 0
first_lir_id 1984
last_lir_id 1990
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v374 BlockEntry type:Tagged pos:1040 <|@
0 0 v375 Simulate id=540 pop 1 type:Tagged pos:1040 <|@
0 0 v376 Goto B131 type:Tagged pos:1040 <|@
end_HIR
begin_LIR
1984 label () () () () Dead block replaced with B131 [hir:v374] <|@
1986 gap () () () () [hir:v374] <|@
1988 gap () () () () [hir:v376] <|@
1990 goto B131 [hir:v376] <|@
end_LIR
end_block
begin_block
name "B131"
from_bci -1
to_bci -1
predecessors "B130"
successors
xhandlers
flags "dead"
dominator "B130"
loop_depth 0
first_lir_id 1992
last_lir_id 2026
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v380 BlockEntry type:Tagged pos:1057 <|@
0 1 t381 LoadContextSlot t1[10] type:Tagged pos:1057 <|@
0 0 t383 PushArguments t6 t78 t3 t4 type:Tagged pos:1057 <|@
0 2 t384 CallFunction t1 t381 (type-feedback-vector icslot 6) changes[*] type:Tagged pos:1057 <|@
0 0 v385 Simulate id=554 var[4] = t6, push t384 type:Tagged pos:1057 <|@
0 1 s671 Constant 2 type:Smi pos:1050 <|@
0 0 v387 Return t384 (pop s671 values) type:Tagged pos:1050 <|@
end_HIR
begin_LIR
1992 label () () () () [hir:v380] <|@
1994 gap () () () () [hir:v380] <|@
1996 dummy-use [rax|R]= [stack:0] [hir:t381] <|@
1998 gap ((0) = [rax|R];) () () () [hir:t381] <|@
2000 dummy-use = [stack:1] [hir:t383] <|@
2002 gap () () () () [hir:t383] <|@
2004 dummy-use = [stack:-2] [hir:t383] <|@
2006 gap () () () () [hir:t383] <|@
2008 dummy-use = [stack:-1] [hir:t383] <|@
2010 gap () () () () [hir:t383] <|@
2012 dummy-use [rbx|R]= [constant:6] [hir:t383] <|@
2014 gap ((0) = [rbx|R];) () () () [hir:t383] <|@
2016 dummy-use = [rax|R] [hir:t384] <|@
2018 gap () () () () [hir:t384] <|@
2020 dummy-use [rax|R]= [stack:0] [hir:t384] <|@
2022 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t384] <|@
2024 return = [rax|R] NULL [constant:671] [hir:v387] <|@
2026 gap () () () () [hir:v387] <|@
end_LIR
end_block
end_cfg
begin_compilation
name ""
method ":11"
date 1432461310000
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 1 i94 Constant 1 type:Smi <|@
0 1 t23 Constant 0x315a30704161 <true> [map 0x3f3d148044c9] <|@
0 2 t4 Constant 0x315a30704121 <undefined> [map 0x3f3d148043c1] <|@
0 4 t1 Context type:Tagged <|@
0 3 t2 Parameter 0 type:Tagged <|@
0 0 t3 ArgumentsObject t2 type:Tagged <|@
0 0 v5 Simulate id=2 var[2] = t4, 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:1] = [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 "B3" "B2"
xhandlers
flags
dominator "B0"
loop_depth 0
first_lir_id 16
last_lir_id 70
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v7 BlockEntry type:Tagged <|@
0 0 t8 DeclareGlobals t1 changes[*] type:Tagged <|@
0 0 v9 Simulate id=3 type:Tagged <|@
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@
0 1 t11 Constant 0x4b684864441 <JS Function $ (SharedFunctionInfo 0x4b684842bd1)> [map 0x335beeb0e341] pos:848 <|@
0 1 t12 Constant 0xa0eea30b7f1 <String[8]: body div> [map 0x3f3d14804261] pos:850 <|@
0 1 t14 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:848 <|@
0 0 t15 PushArguments t14 t12 type:Tagged pos:848 <|@
0 0 t17 CallJSFunction t11 #2 changes[*] type:Tagged pos:848 <|@
0 0 v18 Simulate id=6 type:Tagged pos:848 <|@
0 1 i19 Constant 0 type:Smi pos:913 <|@
0 2 t20 Constant 0x4b684843501 PropertyCell for 12293 [map 0x3f3d148045d1] pos:911 <|@
0 1 t115 Constant 0 pos:911 <|@
0 0 v21 StoreNamedField t20.[in-object]@8 = t115 (write-barrier) changes[GlobalVars] type:Tagged pos:911 <|@
0 0 v22 Simulate id=25 push i19 type:Tagged pos:911 <|@
0 0 v24 Branch t23 goto (B3, B2) (None) type:Tagged pos:900 <|@
end_HIR
begin_LIR
16 label () () () () [hir:v7] <|@
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@
20 declare-globals = [rsi|R] {[rsi|R];[stack:1]} [hir:t8] <|@
22 gap () () () () [hir:t8] <|@
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:1];[constant:4]] [hir:v9] <|@
26 gap () ([rsi|R] = [stack:1];) () () [hir:v9] <|@
28 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:1];[constant:4]] {[rsi|R];[stack:1]} [hir:v10] <|@
30 gap () () () () [hir:v10] <|@
32 lazy-bailout = [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[stack:-1];[stack:1];[constant:4]] [hir:v10] <|@
34 gap () () () () [hir:v10] <|@
36 push-argument = [constant:14] [hir:t15] <|@
38 gap () () () () [hir:t15] <|@
40 push-argument = [constant:12] [hir:t15] <|@
42 gap () () () () [hir:t15] <|@
44 constant-t [rdi|R]= [hir:t11] <|@
46 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t11] <|@
48 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:1]} [hir:t17] <|@
50 gap ((0) = [rax|R];) () () () [hir:t17] <|@
52 lazy-bailout = [id=6|deopt_id=2|parameters=1|arguments_stack_height=0|[stack:-1];[stack:1];[constant:4]] [hir:v18] <|@
54 gap () () () () [hir:v18] <|@
56 constant-t [rax|R]= [hir:t20] <|@
58 gap ((0) = [rax|R];) () () () [hir:t20] <|@
60 constant-t [rbx|R]= [hir:t115] <|@
62 gap ((0) = [rbx|R];) ([rbx|R];) () () [hir:t115] <|@
64 store-named-field [rax|R].[in-object]@8 <- [rbx|R] [hir:v21] <|@
66 gap () () () () [hir:v21] <|@
68 gap () () () () [hir:v24] <|@
70 goto B3 [hir:v24] <|@
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 72
last_lir_id 98
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v28 BlockEntry type:Tagged pos:900 <|@
0 2 t29 UnknownOSRValue parameter @ 0 type:Tagged pos:900 <|@
0 1 t30 UnknownOSRValue special @ 1 type:Tagged pos:900 <|@
0 1 t31 UnknownOSRValue local @ 2 type:Tagged pos:900 <|@
0 0 v32 Simulate id=17 pop 1 / var[2] = t31, var[1] = t30, var[0] = t29 type:Tagged pos:900 <|@
0 0 v33 OsrEntry changes[NewSpacePromotion,OsrEntries] type:Tagged pos:900 <|@
0 2 t34 Context type:Tagged pos:900 <|@
0 0 v35 Simulate id=15 var[1] = t34 type:Tagged pos:900 <|@
0 0 v36 Goto B4 type:Tagged pos:900 <|@
end_HIR
begin_LIR
72 label () () () () [hir:v28] <|@
74 gap () () () () [hir:v28] <|@
76 unknown-osr-value [stack:-1]= [hir:t29] <|@
78 gap () ([stack:-1];) () () [hir:t29] <|@
80 unknown-osr-value [stack:-1]= [hir:t30] <|@
82 gap () ([stack:-1];) () () [hir:t30] <|@
84 unknown-osr-value [stack:0]= [hir:t31] <|@
86 gap () ([stack:0];) () () [hir:t31] <|@
88 osr-entry = [id=17|deopt_id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:-1];[stack:0]] [hir:v33] <|@
90 gap () () () () [hir:v33] <|@
92 context [rsi|R]= [hir:t34] <|@
94 gap ((0) = [rsi|R];) () () () [hir:t34] <|@
96 gap () ([rbx|R] = [stack:-1]; [rax|R] = [rsi|R];) () () [hir:v36] <|@
98 goto B4 [hir:v36] <|@
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 100
last_lir_id 106
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v25 BlockEntry type:Tagged pos:900 <|@
0 0 v26 Simulate id=15 pop 1 type:Tagged pos:900 <|@
0 0 v27 Goto B4 type:Tagged pos:900 <|@
end_HIR
begin_LIR
100 label () () () () [hir:v25] <|@
102 gap () () () () [hir:v25] <|@
104 gap () ([rbx|R] = [stack:-1]; [rax|R] = [stack:1];) () () [hir:v27] <|@
106 goto B4 [hir:v27] <|@
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 108
last_lir_id 114
begin_states
begin_locals
size 2
method "None"
0 t37 [ t2 t29 uses:0_0s_0i_0d_0t type:Tagged]
1 t38 [ t1 t34 uses:6_0s_0i_0d_1t type:Tagged]
end_locals
end_states
begin_HIR
0 0 v43 BlockEntry type:Tagged pos:900 <|@
0 0 v44 Simulate id=15 type:Tagged pos:900 <|@
0 6 t47 Constant 0x4b684843501 PropertyCell for 12293 [map 0x3f3d148045d1] pos:916 <|@
0 1 i49 Constant 30000 type:Smi pos:920 <|@
0 4 t60 Constant 0x4b684864441 <JS Function $ (SharedFunctionInfo 0x4b684842bd1)> [map 0x335beeb0e341] pos:936 <|@
0 1 t61 Constant 0xa0eea30b7f1 <String[8]: body div> [map 0x3f3d14804261] pos:938 <|@
0 4 t63 Constant 0x4b684864489 <JS Global Object> [map 0x3f3d1480bf81] pos:936 <|@
0 1 t69 Constant 0xa0eea30b811 <String[13]: body #test123> [map 0x3f3d14804261] pos:954 <|@
0 1 t77 Constant 0xa0eea30b839 <String[13]: body .test123> [map 0x3f3d14804261] pos:975 <|@
0 1 t85 Constant 0xa0eea30b861 <String[15]: body > .test123> [map 0x3f3d14804261] pos:996 <|@
0 0 v45 Goto B5 type:Tagged pos:900 <|@
end_HIR
begin_LIR
108 label () ([stack:3] = [rbx|R]; [stack:2] = [rax|R];) () () [hir:v43] <|@
110 gap () () () () [hir:v43] <|@
112 gap () () () () [hir:v45] <|@
114 goto B5 [hir:v45] <|@
end_LIR
end_block
begin_block
name "B5"
from_bci -1
to_bci -1
predecessors "B4" "B7"
successors "B6" "B8"
xhandlers
flags "dom-loop-succ"
dominator "B4"
loop_depth 1
first_lir_id 116
last_lir_id 134
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v46 BlockEntry type:Tagged pos:916 <|@
0 1 t48 LoadNamedField t47.[in-object]@8 type:Tagged pos:916 <|@
0 1 i116 Change t48 t to i type:TaggedNumber pos:916 <|@
0 0 i50 CompareNumericAndBranch LT i116 i49 goto (B6, B8) type:Tagged pos:918 <|@
end_HIR
begin_LIR
116 label () () () () [hir:v46] <|@
118 gap () () () () [hir:v46] <|@
120 constant-t [rdx|R]= [hir:t47] <|@
122 gap ((0) = [rdx|R];) () () () [hir:t47] <|@
124 load-named-field [rdx|R]= [rdx|R] [hir:t48] <|@
126 gap ((0) = [rdx|R];) ([rdx|R];) () () [hir:t48] <|@
128 tagged-to-i [rdx|R]= [rdx|R] [id=15|deopt_id=11|parameters=1|arguments_stack_height=0|[rbx|R];[rax|R];[constant:4]] [hir:i116] <|@
130 gap ((0) = [rdx|R];) () () () [hir:i116] <|@
132 gap () () () () [hir:i50] <|@
134 compare-numeric-and-branch if [rdx|R] < [constant:49] then B6 else B8 [hir:i50] <|@
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 136
last_lir_id 142
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v51 BlockEntry type:Tagged pos:918 <|@
0 0 v52 Simulate id=19 type:Tagged pos:918 <|@
0 0 v53 Goto B7 type:Tagged pos:918 <|@
end_HIR
begin_LIR
136 label () () () () Dead block replaced with B7 [hir:v51] <|@
138 gap () () () () [hir:v51] <|@
140 gap () () () () [hir:v53] <|@
142 goto B7 [hir:v53] <|@
end_LIR
end_block
begin_block
name "B7"
from_bci -1
to_bci -1
predecessors "B6"
successors "B5"
xhandlers
flags "dom-loop-succ"
dominator "B6"
loop_depth 1
first_lir_id 144
last_lir_id 258
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v57 BlockEntry type:Tagged pos:900 <|@
0 0 v58 Simulate id=19 type:Tagged pos:900 <|@
0 0 t64 PushArguments t63 t61 type:Tagged pos:936 <|@
0 0 t66 CallJSFunction t60 #2 changes[*] type:Tagged pos:936 <|@
0 0 v67 Simulate id=51 type:Tagged pos:936 <|@
0 0 t72 PushArguments t63 t69 type:Tagged pos:952 <|@
0 0 t74 CallJSFunction t60 #2 changes[*] type:Tagged pos:952 <|@
0 0 v75 Simulate id=60 type:Tagged pos:952 <|@
0 0 t80 PushArguments t63 t77 type:Tagged pos:973 <|@
0 0 t82 CallJSFunction t60 #2 changes[*] type:Tagged pos:973 <|@
0 0 v83 Simulate id=69 type:Tagged pos:973 <|@
0 0 t88 PushArguments t63 t85 type:Tagged pos:994 <|@
0 0 t90 CallJSFunction t60 #2 changes[*] type:Tagged pos:994 <|@
0 0 v91 Simulate id=78 type:Tagged pos:994 <|@
0 1 t93 LoadNamedField t47.[in-object]@8 type:Tagged pos:927 <|@
0 1 i117 Change t93 t to i allow-undefined-as-nan type:TaggedNumber pos:928 <|@
0 2 i95 Add i117 i94 ! type:TaggedNumber pos:928 <|@
0 1 t118 Change i95 i to t pos:928 <|@
0 0 v97 StoreNamedField t47.[in-object]@8 = t118 changes[GlobalVars] type:Tagged pos:928 <|@
0 0 v98 Simulate id=42 push i95 type:Tagged pos:928 <|@
0 0 v99 Simulate id=15 pop 1 type:Tagged pos:900 <|@
0 0 v100 Goto B5 type:Tagged pos:900 <|@
end_HIR
begin_LIR
144 label () () () () [hir:v57] <|@
146 gap () () () () [hir:v57] <|@
148 push-argument = [constant:63] [hir:t64] <|@
150 gap () () () () [hir:t64] <|@
152 push-argument = [constant:61] [hir:t64] <|@
154 gap () () () () [hir:t64] <|@
156 constant-t [rdi|R]= [hir:t60] <|@
158 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t60] <|@
160 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:3];[stack:2]} [hir:t66] <|@
162 gap ((0) = [rax|R];) () () () [hir:t66] <|@
164 lazy-bailout = [id=51|deopt_id=4|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:v67] <|@
166 gap () () () () [hir:v67] <|@
168 push-argument = [constant:63] [hir:t72] <|@
170 gap () () () () [hir:t72] <|@
172 push-argument = [constant:69] [hir:t72] <|@
174 gap () () () () [hir:t72] <|@
176 constant-t [rdi|R]= [hir:t60] <|@
178 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t60] <|@
180 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:3];[stack:2]} [hir:t74] <|@
182 gap ((0) = [rax|R];) () () () [hir:t74] <|@
184 lazy-bailout = [id=60|deopt_id=5|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:v75] <|@
186 gap () () () () [hir:v75] <|@
188 push-argument = [constant:63] [hir:t80] <|@
190 gap () () () () [hir:t80] <|@
192 push-argument = [constant:77] [hir:t80] <|@
194 gap () () () () [hir:t80] <|@
196 constant-t [rdi|R]= [hir:t60] <|@
198 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t60] <|@
200 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:3];[stack:2]} [hir:t82] <|@
202 gap ((0) = [rax|R];) () () () [hir:t82] <|@
204 lazy-bailout = [id=69|deopt_id=6|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:v83] <|@
206 gap () () () () [hir:v83] <|@
208 push-argument = [constant:63] [hir:t88] <|@
210 gap () () () () [hir:t88] <|@
212 push-argument = [constant:85] [hir:t88] <|@
214 gap () () () () [hir:t88] <|@
216 constant-t [rdi|R]= [hir:t60] <|@
218 gap ((0) = [rdi|R];) ([rdi|R];) () () [hir:t60] <|@
220 call-js-function [rax|R]= [rdi|R]#1 / {[rdi|R];[stack:3];[stack:2]} [hir:t90] <|@
222 gap ((0) = [rax|R];) () () () [hir:t90] <|@
224 lazy-bailout = [id=78|deopt_id=7|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:v91] <|@
226 gap () () () () [hir:v91] <|@
228 constant-t [rdx|R]= [hir:t47] <|@
230 gap ((0) = [rdx|R];) () () () [hir:t47] <|@
232 load-named-field [rax|R]= [rdx|R] [hir:t93] <|@
234 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t93] <|@
236 tagged-to-i [rax|R]= [rax|R] [id=78|deopt_id=12|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:i117] <|@
238 gap ((0) = [rax|R];) ([rax|R];) () () [hir:i117] <|@
240 add-i [rax|R]= [rax|R] [constant:94] [id=78|deopt_id=8|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4]] [hir:i95] <|@
242 gap ((0) = [rax|R];) () () () [hir:i95] <|@
244 smi-tag [rbx|R]= [rax|R] [hir:t118] <|@
246 gap ((0) = [rbx|R];) () () () [hir:t118] <|@
248 constant-t [rdx|R]= [hir:t47] <|@
250 gap ((0) = [rdx|R];) () () () [hir:t47] <|@
252 store-named-field [rdx|R].[in-object]@8 <- [rbx|R] [hir:v97] <|@
254 gap () () () () [hir:v97] <|@
256 gap () ([rbx|R] = [stack:3]; [rax|R] = [stack:2];) () () [hir:v100] <|@
258 goto B5 [hir:v100] <|@
end_LIR
end_block
begin_block
name "B8"
from_bci -1
to_bci -1
predecessors "B5"
successors "B9"
xhandlers
flags
dominator "B5"
loop_depth 0
first_lir_id 260
last_lir_id 266
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v54 BlockEntry type:Tagged pos:918 <|@
0 0 v55 Simulate id=16 type:Tagged pos:918 <|@
0 0 v56 Goto B9 type:Tagged pos:918 <|@
end_HIR
begin_LIR
260 label () () () () Dead block replaced with B9 [hir:v54] <|@
262 gap () () () () [hir:v54] <|@
264 gap () () () () [hir:v56] <|@
266 goto B9 [hir:v56] <|@
end_LIR
end_block
begin_block
name "B9"
from_bci -1
to_bci -1
predecessors "B8"
successors
xhandlers
flags
dominator "B8"
loop_depth 0
first_lir_id 268
last_lir_id 302
begin_states
begin_locals
size 0
method "None"
end_locals
end_states
begin_HIR
0 0 v101 BlockEntry type:Tagged pos:1019 <|@
0 1 t102 LoadNamedField t38.[in-object]@40 type:Tagged pos:1019 <|@
0 2 t103 LoadGlobalGeneric alert changes[*] type:Tagged pos:1019 <|@
0 0 v104 Simulate id=97 push t103 type:Tagged pos:1019 <|@
0 1 t105 Constant 0x171db9915e61 <String[4]: done> [map 0x3f3d14804261] pos:1025 <|@
0 0 t106 PushArguments t4 t105 type:Tagged pos:1019 <|@
0 2 t107 CallFunction t38 t103 (type-feedback-vector icslot 5) changes[*] type:Tagged pos:1019 <|@
0 0 v108 Simulate id=93 pop 1 / push t107 type:Tagged pos:1019 <|@
0 1 s119 Constant 0 type:Smi pos:1053 <|@
0 0 v113 Return t107 (pop s119 values) type:Tagged pos:1053 <|@
end_HIR
begin_LIR
268 label () () () () [hir:v101] <|@
270 gap () () ([rax|R] = [stack:2];) () [hir:v101] <|@
272 load-named-field [rdx|R]= [rax|R] [hir:t102] <|@
274 gap ((0) = [rdx|R];) ([rsi|R] = [rax|R]; [rdx|R];) () () [hir:t102] <|@
276 load-global-generic [rax|R]= [rsi|R] [rdx|R] {[rsi|R];[rdx|R];[stack:3];[stack:2]} [hir:t103] <|@
278 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t103] <|@
280 lazy-bailout = [id=97|deopt_id=9|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4];[rax|R]] [hir:v104] <|@
282 gap () () () () [hir:v104] <|@
284 push-argument = [constant:4] [hir:t106] <|@
286 gap () () () () [hir:t106] <|@
288 push-argument = [constant:105] [hir:t106] <|@
290 gap () ([rsi|R] = [stack:2]; [rdi|R] = [rax|R];) () () [hir:t106] <|@
292 call-function [rax|R][rsi|R] [rdi|R] (type-feedback-vector [rbx|R] [rdx|R]) {[rsi|R];[rdi|R];[stack:3];[stack:2]} [hir:t107] <|@
294 gap ((0) = [rax|R];) ([rax|R];) () () [hir:t107] <|@
296 lazy-bailout = [id=93|deopt_id=10|parameters=1|arguments_stack_height=0|[stack:3];[stack:2];[constant:4];[rax|R]] [hir:v108] <|@
298 gap () ([rax|R];) () () [hir:v108] <|@
300 return = [rax|R] NULL [constant:119] [hir:v113] <|@
302 gap () () () () [hir:v113] <|@
end_LIR
end_block
end_cfg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment