Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/ForOf.golden

Issue 1997653002: [interpreter] Bytecode register optimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Decouple a test from implementation. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 1 #
2 # Autogenerated by generate-bytecode-expectations. 2 # Autogenerated by generate-bytecode-expectations.
3 # 3 #
4 4
5 --- 5 ---
6 pool type: mixed 6 pool type: mixed
7 execute: yes 7 execute: yes
8 wrap: yes 8 wrap: yes
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 for (var p of [0, 1, 2]) {} 12 for (var p of [0, 1, 2]) {}
13 " 13 "
14 frame size: 16 14 frame size: 16
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 343 16 bytecode array length: 288
17 bytecodes: [ 17 bytecodes: [
18 /* 30 E> */ B(StackCheck), 18 /* 30 E> */ B(StackCheck),
19 B(LdrUndefined), R(4), 19 B(LdrUndefined), R(4),
20 B(LdaZero), 20 B(LdaZero),
21 B(Star), R(3), 21 B(Star), R(3),
22 B(Mov), R(context), R(11), 22 B(Mov), R(context), R(11),
23 B(Mov), R(context), R(12), 23 B(Mov), R(context), R(12),
24 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 24 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
25 B(Star), R(14), 25 B(Star), R(14),
26 /* 48 E> */ B(LdaConstant), U8(1), 26 /* 48 E> */ B(LdaConstant), U8(1),
27 B(LdrKeyedProperty), R(14), U8(3), R(13), 27 B(LdrKeyedProperty), R(14), U8(3), R(13),
28 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 28 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
29 /* 48 E> */ B(Star), R(1), 29 /* 48 E> */ B(Star), R(1),
30 /* 45 S> */ B(Ldar), R(1), 30 /* 45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
31 B(Star), R(15), 31 /* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
32 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
33 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
34 /* 45 E> */ B(Star), R(2), 32 /* 45 E> */ B(Star), R(2),
35 B(Star), R(13), 33 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
36 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
37 B(ToBooleanLogicalNot), 34 B(ToBooleanLogicalNot),
38 B(JumpIfFalse), U8(11), 35 B(JumpIfFalse), U8(7),
39 B(Ldar), R(2), 36 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
40 B(Star), R(13), 37 B(LdaNamedProperty), R(2), U8(3), U8(9),
41 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 38 B(JumpIfToBooleanTrue), U8(22),
42 B(Ldar), R(2),
43 B(Star), R(13),
44 B(LdaNamedProperty), R(13), U8(3), U8(9),
45 B(JumpIfToBooleanTrue), U8(27),
46 B(LdaSmi), U8(2), 39 B(LdaSmi), U8(2),
47 B(Star), R(3), 40 B(Star), R(3),
48 B(Ldar), R(2), 41 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
49 B(Star), R(13), 42 B(Ldar), R(0),
50 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
51 B(Ldar), R(4),
52 /* 34 E> */ B(StackCheck), 43 /* 34 E> */ B(StackCheck),
53 B(Ldar), R(0), 44 B(Mov), R(0), R(7),
54 B(Star), R(7),
55 B(LdaZero), 45 B(LdaZero),
56 B(Star), R(3), 46 B(Star), R(3),
57 B(Jump), U8(-68), 47 B(Jump), U8(-49),
58 B(Jump), U8(46), 48 B(Jump), U8(41),
59 B(Star), R(14), 49 B(Star), R(14),
60 B(LdaConstant), U8(5), 50 B(LdaConstant), U8(5),
61 B(Star), R(13), 51 B(Star), R(13),
62 B(Ldar), R(closure), 52 B(Mov), R(closure), R(15),
63 B(Star), R(15),
64 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 53 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
65 B(Star), R(12), 54 B(Star), R(12),
66 B(PushContext), R(8), 55 B(PushContext), R(8),
67 B(Ldar), R(3),
68 B(Star), R(13),
69 B(LdaSmi), U8(2), 56 B(LdaSmi), U8(2),
70 B(TestEqualStrict), R(13), 57 B(TestEqualStrict), R(3),
71 B(JumpIfFalse), U8(6), 58 B(JumpIfFalse), U8(6),
72 B(LdaSmi), U8(1), 59 B(LdaSmi), U8(1),
73 B(Star), R(3), 60 B(Star), R(3),
74 B(LdrContextSlot), R(context), U8(4), R(13), 61 B(LdrContextSlot), R(context), U8(4), R(13),
75 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 62 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
76 B(PopContext), R(8), 63 B(PopContext), R(8),
77 B(LdaSmi), U8(-1), 64 B(LdaSmi), U8(-1),
78 B(Star), R(9), 65 B(Star), R(9),
79 B(Jump), U8(7), 66 B(Jump), U8(7),
80 B(Star), R(10), 67 B(Star), R(10),
81 B(LdaZero), 68 B(LdaZero),
82 B(Star), R(9), 69 B(Star), R(9),
83 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 70 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
84 B(Star), R(11), 71 B(Star), R(11),
85 B(Ldar), R(3),
86 B(Star), R(12),
87 B(LdaZero), 72 B(LdaZero),
88 B(TestEqualStrict), R(12), 73 B(TestEqualStrict), R(3),
89 B(JumpIfTrue), U8(9), 74 B(JumpIfTrue), U8(5),
90 B(Ldar), R(1),
91 B(Star), R(12),
92 B(LdaUndefined), 75 B(LdaUndefined),
93 B(TestEqualStrict), R(12), 76 B(TestEqualStrict), R(1),
94 B(ToBooleanLogicalNot), 77 B(ToBooleanLogicalNot),
95 B(JumpIfFalseConstant), U8(9), 78 B(JumpIfFalse), U8(121),
96 B(Ldar), R(1), 79 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
97 B(Star), R(12),
98 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
99 B(Ldar), R(5),
100 B(Star), R(12),
101 B(LdaNull), 80 B(LdaNull),
102 B(TestEqual), R(12), 81 B(TestEqual), R(5),
103 B(JumpIfFalse), U8(4), 82 B(JumpIfFalse), U8(4),
104 B(Jump), U8(124), 83 B(Jump), U8(109),
105 B(Ldar), R(3),
106 B(Star), R(12),
107 B(LdaSmi), U8(1), 84 B(LdaSmi), U8(1),
108 B(TestEqualStrict), R(12), 85 B(TestEqualStrict), R(3),
109 B(JumpIfFalse), U8(79), 86 B(JumpIfFalse), U8(76),
110 B(Ldar), R(5), 87 B(Ldar), R(5),
111 B(TypeOf), 88 B(TypeOf),
112 B(Star), R(12), 89 B(Star), R(12),
113 B(LdaConstant), U8(7), 90 B(LdaConstant), U8(7),
114 B(TestEqualStrict), R(12), 91 B(TestEqualStrict), R(12),
115 B(JumpIfFalse), U8(4), 92 B(JumpIfFalse), U8(4),
116 B(Jump), U8(18), 93 B(Jump), U8(18),
117 B(Wide), B(LdaSmi), U16(129), 94 B(Wide), B(LdaSmi), U16(129),
118 B(Star), R(12), 95 B(Star), R(12),
119 B(LdaConstant), U8(8), 96 B(LdaConstant), U8(8),
120 B(Star), R(13), 97 B(Star), R(13),
121 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 98 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
122 B(Throw), 99 B(Throw),
123 B(Mov), R(context), R(12), 100 B(Mov), R(context), R(12),
124 B(Ldar), R(5), 101 B(Mov), R(5), R(13),
125 B(Star), R(13), 102 B(Mov), R(1), R(14),
126 B(Ldar), R(1),
127 B(Star), R(14),
128 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 103 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
129 B(Jump), U8(30), 104 B(Jump), U8(29),
130 B(Star), R(14), 105 B(Star), R(14),
131 B(LdaConstant), U8(5), 106 B(LdaConstant), U8(5),
132 B(Star), R(13), 107 B(Star), R(13),
133 B(Ldar), R(closure), 108 B(Mov), R(closure), R(15),
134 B(Star), R(15),
135 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 109 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
136 B(Star), R(12), 110 B(Star), R(12),
137 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 111 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
138 B(Ldar), R(12), 112 B(Ldar), R(12),
139 B(PushContext), R(8), 113 B(PushContext), R(8),
140 B(PopContext), R(8), 114 B(PopContext), R(8),
141 B(Jump), U8(37), 115 B(Jump), U8(29),
142 B(Ldar), R(5), 116 B(Mov), R(5), R(12),
143 B(Star), R(12), 117 B(Mov), R(1), R(13),
144 B(Ldar), R(1),
145 B(Star), R(13),
146 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 118 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
147 B(Star), R(6), 119 B(Star), R(6),
148 B(Star), R(12), 120 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
149 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
150 B(JumpIfToBooleanFalse), U8(4), 121 B(JumpIfToBooleanFalse), U8(4),
151 B(Jump), U8(11), 122 B(Jump), U8(7),
152 B(Ldar), R(6), 123 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
153 B(Star), R(12),
154 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1),
155 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 124 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1),
156 B(LdaZero), 125 B(LdaZero),
157 B(TestEqualStrict), R(9), 126 B(TestEqualStrict), R(9),
158 B(JumpIfTrue), U8(4), 127 B(JumpIfTrue), U8(4),
159 B(Jump), U8(5), 128 B(Jump), U8(5),
160 B(Ldar), R(10), 129 B(Ldar), R(10),
161 B(ReThrow), 130 B(ReThrow),
162 B(LdaUndefined), 131 B(LdaUndefined),
163 /* 62 S> */ B(Return), 132 /* 62 S> */ B(Return),
164 ] 133 ]
165 constant pool: [ 134 constant pool: [
166 InstanceType::FIXED_ARRAY_TYPE, 135 InstanceType::FIXED_ARRAY_TYPE,
167 InstanceType::SYMBOL_TYPE, 136 InstanceType::SYMBOL_TYPE,
168 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 137 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
169 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 138 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
170 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 139 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
171 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 140 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
172 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 141 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
173 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 142 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
174 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 143 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
175 kInstanceTypeDontCare,
176 ] 144 ]
177 handlers: [ 145 handlers: [
178 [9, 147, 153], 146 [9, 123, 129],
179 [12, 101, 103], 147 [12, 82, 84],
180 [246, 259, 261], 148 [202, 213, 215],
181 ] 149 ]
182 150
183 --- 151 ---
184 snippet: " 152 snippet: "
185 var x = 'potatoes'; 153 var x = 'potatoes';
186 for (var p of x) { return p; } 154 for (var p of x) { return p; }
187 " 155 "
188 frame size: 17 156 frame size: 17
189 parameter count: 1 157 parameter count: 1
190 bytecode array length: 359 158 bytecode array length: 302
191 bytecodes: [ 159 bytecodes: [
192 /* 30 E> */ B(StackCheck), 160 /* 30 E> */ B(StackCheck),
193 /* 42 S> */ B(LdaConstant), U8(0), 161 /* 42 S> */ B(LdaConstant), U8(0),
194 /* 42 E> */ B(Star), R(7), 162 /* 42 E> */ B(Star), R(7),
195 B(LdrUndefined), R(4), 163 B(LdrUndefined), R(4),
196 B(LdaZero), 164 B(LdaZero),
197 B(Star), R(3), 165 B(Star), R(3),
198 B(Mov), R(context), R(12), 166 B(Mov), R(context), R(12),
199 B(Mov), R(context), R(13), 167 B(Mov), R(context), R(13),
200 /* 68 S> */ B(Ldar), R(7), 168 /* 68 S> */ B(Nop),
201 B(Star), R(15),
202 /* 68 E> */ B(LdaConstant), U8(1), 169 /* 68 E> */ B(LdaConstant), U8(1),
203 B(LdrKeyedProperty), R(15), U8(3), R(14), 170 B(LdrKeyedProperty), R(7), U8(3), R(14),
204 /* 68 E> */ B(Call), R(14), R(15), U8(1), U8(1), 171 /* 68 E> */ B(Call), R(14), R(7), U8(1), U8(1),
205 /* 68 E> */ B(Star), R(1), 172 /* 68 E> */ B(Star), R(1),
206 /* 65 S> */ B(Ldar), R(1), 173 /* 65 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(15),
207 B(Star), R(16), 174 /* 65 E> */ B(Call), R(15), R(1), U8(1), U8(5),
208 B(LdrNamedProperty), R(16), U8(2), U8(7), R(15),
209 /* 65 E> */ B(Call), R(15), R(16), U8(1), U8(5),
210 /* 65 E> */ B(Star), R(2), 175 /* 65 E> */ B(Star), R(2),
211 B(Star), R(14), 176 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
212 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(14), U8(1),
213 B(ToBooleanLogicalNot), 177 B(ToBooleanLogicalNot),
214 B(JumpIfFalse), U8(11), 178 B(JumpIfFalse), U8(7),
215 B(Ldar), R(2), 179 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
216 B(Star), R(14), 180 B(LdaNamedProperty), R(2), U8(3), U8(9),
217 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (14), U8(1), 181 B(JumpIfToBooleanTrue), U8(27),
218 B(Ldar), R(2),
219 B(Star), R(14),
220 B(LdaNamedProperty), R(14), U8(3), U8(9),
221 B(JumpIfToBooleanTrue), U8(31),
222 B(LdaSmi), U8(2), 182 B(LdaSmi), U8(2),
223 B(Star), R(3), 183 B(Star), R(3),
224 B(Ldar), R(2), 184 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
225 B(Star), R(14), 185 B(Ldar), R(0),
226 B(LdrNamedProperty), R(14), U8(4), U8(11), R(0),
227 B(Ldar), R(4),
228 /* 54 E> */ B(StackCheck), 186 /* 54 E> */ B(StackCheck),
229 B(Ldar), R(0), 187 B(Mov), R(0), R(8),
230 B(Star), R(8), 188 /* 73 S> */ B(LdaZero),
231 /* 73 S> */ B(Star), R(11),
232 B(LdaZero),
233 B(Star), R(10), 189 B(Star), R(10),
234 B(Jump), U8(62), 190 B(Mov), R(8), R(11),
235 B(Jump), U8(-72), 191 B(Jump), U8(57),
236 B(Jump), U8(46), 192 B(Jump), U8(-54),
193 B(Jump), U8(41),
237 B(Star), R(15), 194 B(Star), R(15),
238 B(LdaConstant), U8(5), 195 B(LdaConstant), U8(5),
239 B(Star), R(14), 196 B(Star), R(14),
240 B(Ldar), R(closure), 197 B(Mov), R(closure), R(16),
241 B(Star), R(16),
242 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 198 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
243 B(Star), R(13), 199 B(Star), R(13),
244 B(PushContext), R(9), 200 B(PushContext), R(9),
245 B(Ldar), R(3),
246 B(Star), R(14),
247 B(LdaSmi), U8(2), 201 B(LdaSmi), U8(2),
248 B(TestEqualStrict), R(14), 202 B(TestEqualStrict), R(3),
249 B(JumpIfFalse), U8(6), 203 B(JumpIfFalse), U8(6),
250 B(LdaSmi), U8(1), 204 B(LdaSmi), U8(1),
251 B(Star), R(3), 205 B(Star), R(3),
252 B(LdrContextSlot), R(context), U8(4), R(14), 206 B(LdrContextSlot), R(context), U8(4), R(14),
253 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 207 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
254 B(PopContext), R(9), 208 B(PopContext), R(9),
255 B(LdaSmi), U8(-1), 209 B(LdaSmi), U8(-1),
256 B(Star), R(10), 210 B(Star), R(10),
257 B(Jump), U8(8), 211 B(Jump), U8(8),
258 B(Star), R(11), 212 B(Star), R(11),
259 B(LdaSmi), U8(1), 213 B(LdaSmi), U8(1),
260 B(Star), R(10), 214 B(Star), R(10),
261 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 215 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
262 B(Star), R(12), 216 B(Star), R(12),
263 B(Ldar), R(3),
264 B(Star), R(13),
265 B(LdaZero), 217 B(LdaZero),
266 B(TestEqualStrict), R(13), 218 B(TestEqualStrict), R(3),
267 B(JumpIfTrue), U8(9), 219 B(JumpIfTrue), U8(5),
268 B(Ldar), R(1),
269 B(Star), R(13),
270 B(LdaUndefined), 220 B(LdaUndefined),
271 B(TestEqualStrict), R(13), 221 B(TestEqualStrict), R(1),
272 B(ToBooleanLogicalNot), 222 B(ToBooleanLogicalNot),
273 B(JumpIfFalseConstant), U8(9), 223 B(JumpIfFalse), U8(121),
274 B(Ldar), R(1), 224 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
275 B(Star), R(13),
276 B(LdrNamedProperty), R(13), U8(6), U8(13), R(5),
277 B(Ldar), R(5),
278 B(Star), R(13),
279 B(LdaNull), 225 B(LdaNull),
280 B(TestEqual), R(13), 226 B(TestEqual), R(5),
281 B(JumpIfFalse), U8(4), 227 B(JumpIfFalse), U8(4),
282 B(Jump), U8(124), 228 B(Jump), U8(109),
283 B(Ldar), R(3),
284 B(Star), R(13),
285 B(LdaSmi), U8(1), 229 B(LdaSmi), U8(1),
286 B(TestEqualStrict), R(13), 230 B(TestEqualStrict), R(3),
287 B(JumpIfFalse), U8(79), 231 B(JumpIfFalse), U8(76),
288 B(Ldar), R(5), 232 B(Ldar), R(5),
289 B(TypeOf), 233 B(TypeOf),
290 B(Star), R(13), 234 B(Star), R(13),
291 B(LdaConstant), U8(7), 235 B(LdaConstant), U8(7),
292 B(TestEqualStrict), R(13), 236 B(TestEqualStrict), R(13),
293 B(JumpIfFalse), U8(4), 237 B(JumpIfFalse), U8(4),
294 B(Jump), U8(18), 238 B(Jump), U8(18),
295 B(Wide), B(LdaSmi), U16(129), 239 B(Wide), B(LdaSmi), U16(129),
296 B(Star), R(13), 240 B(Star), R(13),
297 B(LdaConstant), U8(8), 241 B(LdaConstant), U8(8),
298 B(Star), R(14), 242 B(Star), R(14),
299 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2), 243 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
300 B(Throw), 244 B(Throw),
301 B(Mov), R(context), R(13), 245 B(Mov), R(context), R(13),
302 B(Ldar), R(5), 246 B(Mov), R(5), R(14),
303 B(Star), R(14), 247 B(Mov), R(1), R(15),
304 B(Ldar), R(1),
305 B(Star), R(15),
306 B(CallRuntime), U16(Runtime::k_Call), R(14), U8(2), 248 B(CallRuntime), U16(Runtime::k_Call), R(14), U8(2),
307 B(Jump), U8(30), 249 B(Jump), U8(29),
308 B(Star), R(15), 250 B(Star), R(15),
309 B(LdaConstant), U8(5), 251 B(LdaConstant), U8(5),
310 B(Star), R(14), 252 B(Star), R(14),
311 B(Ldar), R(closure), 253 B(Mov), R(closure), R(16),
312 B(Star), R(16),
313 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 254 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
314 B(Star), R(13), 255 B(Star), R(13),
315 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 256 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
316 B(Ldar), R(13), 257 B(Ldar), R(13),
317 B(PushContext), R(9), 258 B(PushContext), R(9),
318 B(PopContext), R(9), 259 B(PopContext), R(9),
319 B(Jump), U8(37), 260 B(Jump), U8(29),
320 B(Ldar), R(5), 261 B(Mov), R(5), R(13),
321 B(Star), R(13), 262 B(Mov), R(1), R(14),
322 B(Ldar), R(1),
323 B(Star), R(14),
324 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 263 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
325 B(Star), R(6), 264 B(Star), R(6),
326 B(Star), R(13), 265 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
327 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
328 B(JumpIfToBooleanFalse), U8(4), 266 B(JumpIfToBooleanFalse), U8(4),
329 B(Jump), U8(11), 267 B(Jump), U8(7),
330 B(Ldar), R(6), 268 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
331 B(Star), R(13),
332 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1),
333 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 2), U8(1), 269 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 2), U8(1),
334 B(LdaZero), 270 B(LdaZero),
335 B(TestEqualStrict), R(10), 271 B(TestEqualStrict), R(10),
336 B(JumpIfTrue), U8(10), 272 B(JumpIfTrue), U8(10),
337 B(LdaSmi), U8(1), 273 B(LdaSmi), U8(1),
338 B(TestEqualStrict), R(10), 274 B(TestEqualStrict), R(10),
339 B(JumpIfTrue), U8(7), 275 B(JumpIfTrue), U8(7),
340 B(Jump), U8(8), 276 B(Jump), U8(8),
341 B(Ldar), R(11), 277 B(Ldar), R(11),
342 /* 85 S> */ B(Return), 278 /* 85 S> */ B(Return),
343 B(Ldar), R(11), 279 B(Ldar), R(11),
344 B(ReThrow), 280 B(ReThrow),
345 B(LdaUndefined), 281 B(LdaUndefined),
346 /* 85 S> */ B(Return), 282 /* 85 S> */ B(Return),
347 ] 283 ]
348 constant pool: [ 284 constant pool: [
349 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 285 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
350 InstanceType::SYMBOL_TYPE, 286 InstanceType::SYMBOL_TYPE,
351 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 287 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
352 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 288 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
353 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 289 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
354 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 290 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
355 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 291 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
356 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 292 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
357 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 293 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
358 kInstanceTypeDontCare,
359 ] 294 ]
360 handlers: [ 295 handlers: [
361 [13, 153, 159], 296 [13, 127, 133],
362 [16, 107, 109], 297 [16, 86, 88],
363 [253, 266, 268], 298 [207, 218, 220],
364 ] 299 ]
365 300
366 --- 301 ---
367 snippet: " 302 snippet: "
368 for (var x of [10, 20, 30]) { 303 for (var x of [10, 20, 30]) {
369 if (x == 10) continue; 304 if (x == 10) continue;
370 if (x == 20) break; 305 if (x == 20) break;
371 } 306 }
372 " 307 "
373 frame size: 16 308 frame size: 16
374 parameter count: 1 309 parameter count: 1
375 bytecode array length: 365 310 bytecode array length: 304
376 bytecodes: [ 311 bytecodes: [
377 /* 30 E> */ B(StackCheck), 312 /* 30 E> */ B(StackCheck),
378 B(LdrUndefined), R(4), 313 B(LdrUndefined), R(4),
379 B(LdaZero), 314 B(LdaZero),
380 B(Star), R(3), 315 B(Star), R(3),
381 B(Mov), R(context), R(11), 316 B(Mov), R(context), R(11),
382 B(Mov), R(context), R(12), 317 B(Mov), R(context), R(12),
383 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 318 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
384 B(Star), R(14), 319 B(Star), R(14),
385 /* 48 E> */ B(LdaConstant), U8(1), 320 /* 48 E> */ B(LdaConstant), U8(1),
386 B(LdrKeyedProperty), R(14), U8(3), R(13), 321 B(LdrKeyedProperty), R(14), U8(3), R(13),
387 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 322 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
388 /* 48 E> */ B(Star), R(1), 323 /* 48 E> */ B(Star), R(1),
389 /* 45 S> */ B(Ldar), R(1), 324 /* 45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
390 B(Star), R(15), 325 /* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
391 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
392 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
393 /* 45 E> */ B(Star), R(2), 326 /* 45 E> */ B(Star), R(2),
394 B(Star), R(13), 327 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
395 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
396 B(ToBooleanLogicalNot), 328 B(ToBooleanLogicalNot),
397 B(JumpIfFalse), U8(11), 329 B(JumpIfFalse), U8(7),
398 B(Ldar), R(2), 330 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
399 B(Star), R(13), 331 B(LdaNamedProperty), R(2), U8(3), U8(9),
400 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 332 B(JumpIfToBooleanTrue), U8(38),
401 B(Ldar), R(2),
402 B(Star), R(13),
403 B(LdaNamedProperty), R(13), U8(3), U8(9),
404 B(JumpIfToBooleanTrue), U8(49),
405 B(LdaSmi), U8(2), 333 B(LdaSmi), U8(2),
406 B(Star), R(3), 334 B(Star), R(3),
407 B(Ldar), R(2), 335 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
408 B(Star), R(13), 336 B(Ldar), R(0),
409 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
410 B(Ldar), R(4),
411 /* 34 E> */ B(StackCheck), 337 /* 34 E> */ B(StackCheck),
412 B(Ldar), R(0), 338 B(Mov), R(0), R(7),
413 B(Star), R(7), 339 /* 66 S> */ B(LdaSmi), U8(10),
414 /* 66 S> */ B(Star), R(13), 340 /* 72 E> */ B(TestEqual), R(7),
415 B(LdaSmi), U8(10),
416 /* 72 E> */ B(TestEqual), R(13),
417 B(JumpIfFalse), U8(4), 341 B(JumpIfFalse), U8(4),
418 /* 79 S> */ B(Jump), U8(17), 342 /* 79 S> */ B(Jump), U8(13),
419 /* 91 S> */ B(Ldar), R(7), 343 /* 91 S> */ B(LdaSmi), U8(20),
420 B(Star), R(13), 344 /* 97 E> */ B(TestEqual), R(7),
421 B(LdaSmi), U8(20),
422 /* 97 E> */ B(TestEqual), R(13),
423 B(JumpIfFalse), U8(4), 345 B(JumpIfFalse), U8(4),
424 /* 104 S> */ B(Jump), U8(7), 346 /* 104 S> */ B(Jump), U8(7),
425 B(LdaZero), 347 B(LdaZero),
426 B(Star), R(3), 348 B(Star), R(3),
427 B(Jump), U8(-90), 349 B(Jump), U8(-65),
428 B(Jump), U8(46), 350 B(Jump), U8(41),
429 B(Star), R(14), 351 B(Star), R(14),
430 B(LdaConstant), U8(5), 352 B(LdaConstant), U8(5),
431 B(Star), R(13), 353 B(Star), R(13),
432 B(Ldar), R(closure), 354 B(Mov), R(closure), R(15),
433 B(Star), R(15),
434 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 355 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
435 B(Star), R(12), 356 B(Star), R(12),
436 B(PushContext), R(8), 357 B(PushContext), R(8),
437 B(Ldar), R(3),
438 B(Star), R(13),
439 B(LdaSmi), U8(2), 358 B(LdaSmi), U8(2),
440 B(TestEqualStrict), R(13), 359 B(TestEqualStrict), R(3),
441 B(JumpIfFalse), U8(6), 360 B(JumpIfFalse), U8(6),
442 B(LdaSmi), U8(1), 361 B(LdaSmi), U8(1),
443 B(Star), R(3), 362 B(Star), R(3),
444 B(LdrContextSlot), R(context), U8(4), R(13), 363 B(LdrContextSlot), R(context), U8(4), R(13),
445 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 364 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
446 B(PopContext), R(8), 365 B(PopContext), R(8),
447 B(LdaSmi), U8(-1), 366 B(LdaSmi), U8(-1),
448 B(Star), R(9), 367 B(Star), R(9),
449 B(Jump), U8(7), 368 B(Jump), U8(7),
450 B(Star), R(10), 369 B(Star), R(10),
451 B(LdaZero), 370 B(LdaZero),
452 B(Star), R(9), 371 B(Star), R(9),
453 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 372 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
454 B(Star), R(11), 373 B(Star), R(11),
455 B(Ldar), R(3),
456 B(Star), R(12),
457 B(LdaZero), 374 B(LdaZero),
458 B(TestEqualStrict), R(12), 375 B(TestEqualStrict), R(3),
459 B(JumpIfTrue), U8(9), 376 B(JumpIfTrue), U8(5),
460 B(Ldar), R(1),
461 B(Star), R(12),
462 B(LdaUndefined), 377 B(LdaUndefined),
463 B(TestEqualStrict), R(12), 378 B(TestEqualStrict), R(1),
464 B(ToBooleanLogicalNot), 379 B(ToBooleanLogicalNot),
465 B(JumpIfFalseConstant), U8(9), 380 B(JumpIfFalse), U8(121),
466 B(Ldar), R(1), 381 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
467 B(Star), R(12),
468 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
469 B(Ldar), R(5),
470 B(Star), R(12),
471 B(LdaNull), 382 B(LdaNull),
472 B(TestEqual), R(12), 383 B(TestEqual), R(5),
473 B(JumpIfFalse), U8(4), 384 B(JumpIfFalse), U8(4),
474 B(Jump), U8(124), 385 B(Jump), U8(109),
475 B(Ldar), R(3),
476 B(Star), R(12),
477 B(LdaSmi), U8(1), 386 B(LdaSmi), U8(1),
478 B(TestEqualStrict), R(12), 387 B(TestEqualStrict), R(3),
479 B(JumpIfFalse), U8(79), 388 B(JumpIfFalse), U8(76),
480 B(Ldar), R(5), 389 B(Ldar), R(5),
481 B(TypeOf), 390 B(TypeOf),
482 B(Star), R(12), 391 B(Star), R(12),
483 B(LdaConstant), U8(7), 392 B(LdaConstant), U8(7),
484 B(TestEqualStrict), R(12), 393 B(TestEqualStrict), R(12),
485 B(JumpIfFalse), U8(4), 394 B(JumpIfFalse), U8(4),
486 B(Jump), U8(18), 395 B(Jump), U8(18),
487 B(Wide), B(LdaSmi), U16(129), 396 B(Wide), B(LdaSmi), U16(129),
488 B(Star), R(12), 397 B(Star), R(12),
489 B(LdaConstant), U8(8), 398 B(LdaConstant), U8(8),
490 B(Star), R(13), 399 B(Star), R(13),
491 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 400 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
492 B(Throw), 401 B(Throw),
493 B(Mov), R(context), R(12), 402 B(Mov), R(context), R(12),
494 B(Ldar), R(5), 403 B(Mov), R(5), R(13),
495 B(Star), R(13), 404 B(Mov), R(1), R(14),
496 B(Ldar), R(1),
497 B(Star), R(14),
498 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 405 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
499 B(Jump), U8(30), 406 B(Jump), U8(29),
500 B(Star), R(14), 407 B(Star), R(14),
501 B(LdaConstant), U8(5), 408 B(LdaConstant), U8(5),
502 B(Star), R(13), 409 B(Star), R(13),
503 B(Ldar), R(closure), 410 B(Mov), R(closure), R(15),
504 B(Star), R(15),
505 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 411 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
506 B(Star), R(12), 412 B(Star), R(12),
507 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 413 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
508 B(Ldar), R(12), 414 B(Ldar), R(12),
509 B(PushContext), R(8), 415 B(PushContext), R(8),
510 B(PopContext), R(8), 416 B(PopContext), R(8),
511 B(Jump), U8(37), 417 B(Jump), U8(29),
512 B(Ldar), R(5), 418 B(Mov), R(5), R(12),
513 B(Star), R(12), 419 B(Mov), R(1), R(13),
514 B(Ldar), R(1),
515 B(Star), R(13),
516 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 420 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
517 B(Star), R(6), 421 B(Star), R(6),
518 B(Star), R(12), 422 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
519 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
520 B(JumpIfToBooleanFalse), U8(4), 423 B(JumpIfToBooleanFalse), U8(4),
521 B(Jump), U8(11), 424 B(Jump), U8(7),
522 B(Ldar), R(6), 425 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
523 B(Star), R(12),
524 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1),
525 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 426 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1),
526 B(LdaZero), 427 B(LdaZero),
527 B(TestEqualStrict), R(9), 428 B(TestEqualStrict), R(9),
528 B(JumpIfTrue), U8(4), 429 B(JumpIfTrue), U8(4),
529 B(Jump), U8(5), 430 B(Jump), U8(5),
530 B(Ldar), R(10), 431 B(Ldar), R(10),
531 B(ReThrow), 432 B(ReThrow),
532 B(LdaUndefined), 433 B(LdaUndefined),
533 /* 113 S> */ B(Return), 434 /* 113 S> */ B(Return),
534 ] 435 ]
535 constant pool: [ 436 constant pool: [
536 InstanceType::FIXED_ARRAY_TYPE, 437 InstanceType::FIXED_ARRAY_TYPE,
537 InstanceType::SYMBOL_TYPE, 438 InstanceType::SYMBOL_TYPE,
538 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 439 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
539 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 440 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
540 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 441 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
541 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 442 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
542 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 443 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
543 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 444 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
544 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 445 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
545 kInstanceTypeDontCare,
546 ] 446 ]
547 handlers: [ 447 handlers: [
548 [9, 169, 175], 448 [9, 139, 145],
549 [12, 123, 125], 449 [12, 98, 100],
550 [268, 281, 283], 450 [218, 229, 231],
551 ] 451 ]
552 452
553 --- 453 ---
554 snippet: " 454 snippet: "
555 var x = { 'a': 1, 'b': 2 }; 455 var x = { 'a': 1, 'b': 2 };
556 for (x['a'] of [1,2,3]) { return x['a']; } 456 for (x['a'] of [1,2,3]) { return x['a']; }
557 " 457 "
558 frame size: 15 458 frame size: 15
559 parameter count: 1 459 parameter count: 1
560 bytecode array length: 375 460 bytecode array length: 312
561 bytecodes: [ 461 bytecodes: [
562 /* 30 E> */ B(StackCheck), 462 /* 30 E> */ B(StackCheck),
563 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), 463 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
564 B(Star), R(8), 464 B(Star), R(8),
565 /* 42 E> */ B(Star), R(6), 465 /* 42 E> */ B(Star), R(6),
566 B(LdrUndefined), R(3), 466 B(LdrUndefined), R(3),
567 B(LdaZero), 467 B(LdaZero),
568 B(Star), R(2), 468 B(Star), R(2),
569 B(Mov), R(context), R(10), 469 B(Mov), R(context), R(10),
570 B(Mov), R(context), R(11), 470 B(Mov), R(context), R(11),
571 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 471 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
572 B(Star), R(13), 472 B(Star), R(13),
573 /* 77 E> */ B(LdaConstant), U8(2), 473 /* 77 E> */ B(LdaConstant), U8(2),
574 B(LdrKeyedProperty), R(13), U8(3), R(12), 474 B(LdrKeyedProperty), R(13), U8(3), R(12),
575 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1), 475 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1),
576 /* 77 E> */ B(Star), R(0), 476 /* 77 E> */ B(Star), R(0),
577 /* 74 S> */ B(Ldar), R(0), 477 /* 74 S> */ B(LdrNamedProperty), R(0), U8(3), U8(7), R(13),
578 B(Star), R(14), 478 /* 74 E> */ B(Call), R(13), R(0), U8(1), U8(5),
579 B(LdrNamedProperty), R(14), U8(3), U8(7), R(13),
580 /* 74 E> */ B(Call), R(13), R(14), U8(1), U8(5),
581 /* 74 E> */ B(Star), R(1), 479 /* 74 E> */ B(Star), R(1),
582 B(Star), R(12), 480 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(1), U8(1),
583 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
584 B(ToBooleanLogicalNot), 481 B(ToBooleanLogicalNot),
585 B(JumpIfFalse), U8(11), 482 B(JumpIfFalse), U8(7),
586 B(Ldar), R(1), 483 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (1), U8(1),
587 B(Star), R(12), 484 B(LdaNamedProperty), R(1), U8(4), U8(9),
588 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), 485 B(JumpIfToBooleanTrue), U8(28),
589 B(Ldar), R(1),
590 B(Star), R(12),
591 B(LdaNamedProperty), R(12), U8(4), U8(9),
592 B(JumpIfToBooleanTrue), U8(41),
593 B(LdaSmi), U8(2), 486 B(LdaSmi), U8(2),
594 B(Star), R(2), 487 B(Star), R(2),
595 /* 67 E> */ B(Ldar), R(6), 488 /* 67 E> */ B(LdaNamedProperty), R(1), U8(5), U8(11),
596 B(Star), R(12), 489 B(StaNamedPropertySloppy), R(6), U8(6), U8(13),
597 B(Ldar), R(1),
598 B(Star), R(13),
599 B(LdaNamedProperty), R(13), U8(5), U8(11),
600 B(StaNamedPropertySloppy), R(12), U8(6), U8(13),
601 B(Ldar), R(3),
602 /* 62 E> */ B(StackCheck), 490 /* 62 E> */ B(StackCheck),
603 /* 88 S> */ B(Ldar), R(6), 491 /* 88 S> */ B(Nop),
604 B(Star), R(12), 492 /* 96 E> */ B(LdrNamedProperty), R(6), U8(6), U8(15), R(9),
605 /* 96 E> */ B(LdrNamedProperty), R(12), U8(6), U8(15), R(9),
606 B(LdaZero), 493 B(LdaZero),
607 B(Star), R(8), 494 B(Star), R(8),
608 B(Jump), U8(62), 495 B(Jump), U8(57),
609 B(Jump), U8(-82), 496 B(Jump), U8(-55),
610 B(Jump), U8(46), 497 B(Jump), U8(41),
611 B(Star), R(13), 498 B(Star), R(13),
612 B(LdaConstant), U8(7), 499 B(LdaConstant), U8(7),
613 B(Star), R(12), 500 B(Star), R(12),
614 B(Ldar), R(closure), 501 B(Mov), R(closure), R(14),
615 B(Star), R(14),
616 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 502 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
617 B(Star), R(11), 503 B(Star), R(11),
618 B(PushContext), R(7), 504 B(PushContext), R(7),
619 B(Ldar), R(2),
620 B(Star), R(12),
621 B(LdaSmi), U8(2), 505 B(LdaSmi), U8(2),
622 B(TestEqualStrict), R(12), 506 B(TestEqualStrict), R(2),
623 B(JumpIfFalse), U8(6), 507 B(JumpIfFalse), U8(6),
624 B(LdaSmi), U8(1), 508 B(LdaSmi), U8(1),
625 B(Star), R(2), 509 B(Star), R(2),
626 B(LdrContextSlot), R(context), U8(4), R(12), 510 B(LdrContextSlot), R(context), U8(4), R(12),
627 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 511 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
628 B(PopContext), R(7), 512 B(PopContext), R(7),
629 B(LdaSmi), U8(-1), 513 B(LdaSmi), U8(-1),
630 B(Star), R(8), 514 B(Star), R(8),
631 B(Jump), U8(8), 515 B(Jump), U8(8),
632 B(Star), R(9), 516 B(Star), R(9),
633 B(LdaSmi), U8(1), 517 B(LdaSmi), U8(1),
634 B(Star), R(8), 518 B(Star), R(8),
635 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 519 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
636 B(Star), R(10), 520 B(Star), R(10),
637 B(Ldar), R(2),
638 B(Star), R(11),
639 B(LdaZero), 521 B(LdaZero),
640 B(TestEqualStrict), R(11), 522 B(TestEqualStrict), R(2),
641 B(JumpIfTrue), U8(9), 523 B(JumpIfTrue), U8(5),
642 B(Ldar), R(0),
643 B(Star), R(11),
644 B(LdaUndefined), 524 B(LdaUndefined),
645 B(TestEqualStrict), R(11), 525 B(TestEqualStrict), R(0),
646 B(ToBooleanLogicalNot), 526 B(ToBooleanLogicalNot),
647 B(JumpIfFalseConstant), U8(11), 527 B(JumpIfFalse), U8(121),
648 B(Ldar), R(0), 528 B(LdrNamedProperty), R(0), U8(8), U8(17), R(4),
649 B(Star), R(11),
650 B(LdrNamedProperty), R(11), U8(8), U8(17), R(4),
651 B(Ldar), R(4),
652 B(Star), R(11),
653 B(LdaNull), 529 B(LdaNull),
654 B(TestEqual), R(11), 530 B(TestEqual), R(4),
655 B(JumpIfFalse), U8(4), 531 B(JumpIfFalse), U8(4),
656 B(Jump), U8(124), 532 B(Jump), U8(109),
657 B(Ldar), R(2),
658 B(Star), R(11),
659 B(LdaSmi), U8(1), 533 B(LdaSmi), U8(1),
660 B(TestEqualStrict), R(11), 534 B(TestEqualStrict), R(2),
661 B(JumpIfFalse), U8(79), 535 B(JumpIfFalse), U8(76),
662 B(Ldar), R(4), 536 B(Ldar), R(4),
663 B(TypeOf), 537 B(TypeOf),
664 B(Star), R(11), 538 B(Star), R(11),
665 B(LdaConstant), U8(9), 539 B(LdaConstant), U8(9),
666 B(TestEqualStrict), R(11), 540 B(TestEqualStrict), R(11),
667 B(JumpIfFalse), U8(4), 541 B(JumpIfFalse), U8(4),
668 B(Jump), U8(18), 542 B(Jump), U8(18),
669 B(Wide), B(LdaSmi), U16(129), 543 B(Wide), B(LdaSmi), U16(129),
670 B(Star), R(11), 544 B(Star), R(11),
671 B(LdaConstant), U8(10), 545 B(LdaConstant), U8(10),
672 B(Star), R(12), 546 B(Star), R(12),
673 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), 547 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
674 B(Throw), 548 B(Throw),
675 B(Mov), R(context), R(11), 549 B(Mov), R(context), R(11),
676 B(Ldar), R(4), 550 B(Mov), R(4), R(12),
677 B(Star), R(12), 551 B(Mov), R(0), R(13),
678 B(Ldar), R(0),
679 B(Star), R(13),
680 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 552 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
681 B(Jump), U8(30), 553 B(Jump), U8(29),
682 B(Star), R(13), 554 B(Star), R(13),
683 B(LdaConstant), U8(7), 555 B(LdaConstant), U8(7),
684 B(Star), R(12), 556 B(Star), R(12),
685 B(Ldar), R(closure), 557 B(Mov), R(closure), R(14),
686 B(Star), R(14),
687 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 558 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
688 B(Star), R(11), 559 B(Star), R(11),
689 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 560 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
690 B(Ldar), R(11), 561 B(Ldar), R(11),
691 B(PushContext), R(7), 562 B(PushContext), R(7),
692 B(PopContext), R(7), 563 B(PopContext), R(7),
693 B(Jump), U8(37), 564 B(Jump), U8(29),
694 B(Ldar), R(4), 565 B(Mov), R(4), R(11),
695 B(Star), R(11), 566 B(Mov), R(0), R(12),
696 B(Ldar), R(0),
697 B(Star), R(12),
698 B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2), 567 B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2),
699 B(Star), R(5), 568 B(Star), R(5),
700 B(Star), R(11), 569 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(5), U8(1),
701 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(11), U8(1),
702 B(JumpIfToBooleanFalse), U8(4), 570 B(JumpIfToBooleanFalse), U8(4),
703 B(Jump), U8(11), 571 B(Jump), U8(7),
704 B(Ldar), R(5), 572 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
705 B(Star), R(11),
706 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (11), U8(1),
707 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 0), U8(1), 573 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 0), U8(1),
708 B(LdaZero), 574 B(LdaZero),
709 B(TestEqualStrict), R(8), 575 B(TestEqualStrict), R(8),
710 B(JumpIfTrue), U8(10), 576 B(JumpIfTrue), U8(10),
711 B(LdaSmi), U8(1), 577 B(LdaSmi), U8(1),
712 B(TestEqualStrict), R(8), 578 B(TestEqualStrict), R(8),
713 B(JumpIfTrue), U8(7), 579 B(JumpIfTrue), U8(7),
714 B(Jump), U8(8), 580 B(Jump), U8(8),
715 B(Ldar), R(9), 581 B(Ldar), R(9),
716 /* 105 S> */ B(Return), 582 /* 105 S> */ B(Return),
717 B(Ldar), R(9), 583 B(Ldar), R(9),
718 B(ReThrow), 584 B(ReThrow),
719 B(LdaUndefined), 585 B(LdaUndefined),
720 /* 105 S> */ B(Return), 586 /* 105 S> */ B(Return),
721 ] 587 ]
722 constant pool: [ 588 constant pool: [
723 InstanceType::FIXED_ARRAY_TYPE, 589 InstanceType::FIXED_ARRAY_TYPE,
724 InstanceType::FIXED_ARRAY_TYPE, 590 InstanceType::FIXED_ARRAY_TYPE,
725 InstanceType::SYMBOL_TYPE, 591 InstanceType::SYMBOL_TYPE,
726 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 592 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
727 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 593 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
728 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 594 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
729 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 595 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
730 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 596 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
731 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 597 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
732 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 598 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
733 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 599 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
734 kInstanceTypeDontCare,
735 ] 600 ]
736 handlers: [ 601 handlers: [
737 [17, 169, 175], 602 [17, 137, 143],
738 [20, 123, 125], 603 [20, 96, 98],
739 [269, 282, 284], 604 [217, 228, 230],
740 ] 605 ]
741 606
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698