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

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

Issue 2485383002: [Interpreter] Remove Ldr[Named/Keyed]Property bytecodes and use Star Lookahead instead. (Closed)
Patch Set: Created 4 years, 1 month 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 wrap: yes 6 wrap: yes
7 7
8 --- 8 ---
9 snippet: " 9 snippet: "
10 for (var p of [0, 1, 2]) {} 10 for (var p of [0, 1, 2]) {}
11 " 11 "
12 frame size: 15 12 frame size: 15
13 parameter count: 1 13 parameter count: 1
14 bytecode array length: 277 14 bytecode array length: 281
15 bytecodes: [ 15 bytecodes: [
16 /* 30 E> */ B(StackCheck), 16 /* 30 E> */ B(StackCheck),
17 B(LdaZero), 17 B(LdaZero),
18 B(Star), R(4), 18 B(Star), R(4),
19 B(Mov), R(context), R(11), 19 B(Mov), R(context), R(11),
20 B(Mov), R(context), R(12), 20 B(Mov), R(context), R(12),
21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
22 B(Star), R(14), 22 B(Star), R(14),
23 B(LdaConstant), U8(1), 23 B(LdaConstant), U8(1),
24 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(4), R(13), 24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
25 B(Star), R(13),
25 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2), 26 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2),
26 B(Star), R(2), 27 B(Star), R(2),
27 /* 45 S> */ B(LdrNamedProperty), R(2), U8(2), U8(8), R(14), 28 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8),
29 B(Star), R(14),
28 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), 30 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6),
29 B(Star), R(3), 31 B(Star), R(3),
30 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), 32 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
31 B(ToBooleanLogicalNot), 33 B(ToBooleanLogicalNot),
32 B(JumpIfFalse), U8(7), 34 B(JumpIfFalse), U8(7),
33 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), 35 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
34 B(LdaNamedProperty), R(3), U8(3), U8(10), 36 B(LdaNamedProperty), R(3), U8(3), U8(10),
35 B(JumpIfToBooleanTrue), U8(24), 37 B(JumpIfToBooleanTrue), U8(25),
36 B(LdrNamedProperty), R(3), U8(4), U8(12), R(5), 38 B(LdaNamedProperty), R(3), U8(4), U8(12),
39 B(Star), R(5),
37 B(LdaSmi), U8(2), 40 B(LdaSmi), U8(2),
38 B(Star), R(4), 41 B(Star), R(4),
39 B(Mov), R(5), R(0), 42 B(Mov), R(5), R(0),
40 /* 34 E> */ B(StackCheck), 43 /* 34 E> */ B(StackCheck),
41 B(Mov), R(0), R(1), 44 B(Mov), R(0), R(1),
42 B(LdaZero), 45 B(LdaZero),
43 B(Star), R(4), 46 B(Star), R(4),
44 B(JumpLoop), U8(-49), U8(0), 47 B(JumpLoop), U8(-51), U8(0),
45 B(Jump), U8(35), 48 B(Jump), U8(35),
46 B(Star), R(13), 49 B(Star), R(13),
47 B(Ldar), R(closure), 50 B(Ldar), R(closure),
48 B(CreateCatchContext), R(13), U8(5), U8(6), 51 B(CreateCatchContext), R(13), U8(5), U8(6),
49 B(Star), R(12), 52 B(Star), R(12),
50 B(PushContext), R(8), 53 B(PushContext), R(8),
51 B(LdaSmi), U8(2), 54 B(LdaSmi), U8(2),
52 B(TestEqualStrict), R(4), U8(14), 55 B(TestEqualStrict), R(4), U8(14),
53 B(JumpIfFalse), U8(6), 56 B(JumpIfFalse), U8(6),
54 B(LdaSmi), U8(1), 57 B(LdaSmi), U8(1),
55 B(Star), R(4), 58 B(Star), R(4),
56 B(LdrCurrentContextSlot), U8(4), R(13), 59 B(LdrCurrentContextSlot), U8(4), R(13),
57 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 60 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
58 B(PopContext), R(8), 61 B(PopContext), R(8),
59 B(LdaSmi), U8(-1), 62 B(LdaSmi), U8(-1),
60 B(Star), R(9), 63 B(Star), R(9),
61 B(Jump), U8(7), 64 B(Jump), U8(7),
62 B(Star), R(10), 65 B(Star), R(10),
63 B(LdaZero), 66 B(LdaZero),
64 B(Star), R(9), 67 B(Star), R(9),
65 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 68 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
66 B(Star), R(11), 69 B(Star), R(11),
67 B(LdaZero), 70 B(LdaZero),
68 B(TestEqualStrict), R(4), U8(15), 71 B(TestEqualStrict), R(4), U8(15),
69 B(JumpIfTrue), U8(121), 72 B(JumpIfTrue), U8(122),
70 B(LdaUndefined), 73 B(LdaUndefined),
71 B(TestEqualStrict), R(2), U8(16), 74 B(TestEqualStrict), R(2), U8(16),
72 B(JumpIfTrue), U8(115), 75 B(JumpIfTrue), U8(116),
73 B(LdrNamedProperty), R(2), U8(7), U8(17), R(6), 76 B(LdaNamedProperty), R(2), U8(7), U8(17),
77 B(Star), R(6),
74 B(LdaNull), 78 B(LdaNull),
75 B(TestEqual), R(6), U8(19), 79 B(TestEqual), R(6), U8(19),
76 B(JumpIfFalse), U8(4), 80 B(JumpIfFalse), U8(4),
77 B(Jump), U8(102), 81 B(Jump), U8(102),
78 B(LdaSmi), U8(1), 82 B(LdaSmi), U8(1),
79 B(TestEqualStrict), R(4), U8(20), 83 B(TestEqualStrict), R(4), U8(20),
80 B(JumpIfFalse), U8(70), 84 B(JumpIfFalse), U8(70),
81 B(Ldar), R(6), 85 B(Ldar), R(6),
82 B(TypeOf), 86 B(TypeOf),
83 B(Star), R(12), 87 B(Star), R(12),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 134 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
131 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
132 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 136 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
133 FIXED_ARRAY_TYPE, 137 FIXED_ARRAY_TYPE,
134 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 138 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
136 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 140 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
137 FIXED_ARRAY_TYPE, 141 FIXED_ARRAY_TYPE,
138 ] 142 ]
139 handlers: [ 143 handlers: [
140 [7, 116, 122], 144 [7, 119, 125],
141 [10, 81, 83], 145 [10, 84, 86],
142 [199, 209, 211], 146 [203, 213, 215],
143 ] 147 ]
144 148
145 --- 149 ---
146 snippet: " 150 snippet: "
147 var x = 'potatoes'; 151 var x = 'potatoes';
148 for (var p of x) { return p; } 152 for (var p of x) { return p; }
149 " 153 "
150 frame size: 16 154 frame size: 16
151 parameter count: 1 155 parameter count: 1
152 bytecode array length: 288 156 bytecode array length: 292
153 bytecodes: [ 157 bytecodes: [
154 /* 30 E> */ B(StackCheck), 158 /* 30 E> */ B(StackCheck),
155 /* 42 S> */ B(LdaConstant), U8(0), 159 /* 42 S> */ B(LdaConstant), U8(0),
156 B(Star), R(0), 160 B(Star), R(0),
157 B(LdaZero), 161 B(LdaZero),
158 B(Star), R(5), 162 B(Star), R(5),
159 B(Mov), R(context), R(12), 163 B(Mov), R(context), R(12),
160 B(Mov), R(context), R(13), 164 B(Mov), R(context), R(13),
161 /* 68 S> */ B(LdaConstant), U8(1), 165 /* 68 S> */ B(LdaConstant), U8(1),
162 /* 68 E> */ B(LdrKeyedProperty), R(0), U8(4), R(14), 166 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4),
167 B(Star), R(14),
163 /* 68 E> */ B(CallProperty), R(14), R(0), U8(1), U8(2), 168 /* 68 E> */ B(CallProperty), R(14), R(0), U8(1), U8(2),
164 B(Star), R(3), 169 B(Star), R(3),
165 /* 65 S> */ B(LdrNamedProperty), R(3), U8(2), U8(8), R(15), 170 /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8),
171 B(Star), R(15),
166 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6), 172 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6),
167 B(Star), R(4), 173 B(Star), R(4),
168 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), 174 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1),
169 B(ToBooleanLogicalNot), 175 B(ToBooleanLogicalNot),
170 B(JumpIfFalse), U8(7), 176 B(JumpIfFalse), U8(7),
171 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1), 177 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1),
172 B(LdaNamedProperty), R(4), U8(3), U8(10), 178 B(LdaNamedProperty), R(4), U8(3), U8(10),
173 B(JumpIfToBooleanTrue), U8(26), 179 B(JumpIfToBooleanTrue), U8(27),
174 B(LdrNamedProperty), R(4), U8(4), U8(12), R(6), 180 B(LdaNamedProperty), R(4), U8(4), U8(12),
181 B(Star), R(6),
175 B(LdaSmi), U8(2), 182 B(LdaSmi), U8(2),
176 B(Star), R(5), 183 B(Star), R(5),
177 B(Mov), R(6), R(1), 184 B(Mov), R(6), R(1),
178 /* 54 E> */ B(StackCheck), 185 /* 54 E> */ B(StackCheck),
179 B(Mov), R(1), R(2), 186 B(Mov), R(1), R(2),
180 /* 73 S> */ B(LdaZero), 187 /* 73 S> */ B(LdaZero),
181 B(Star), R(10), 188 B(Star), R(10),
182 B(Mov), R(1), R(11), 189 B(Mov), R(1), R(11),
183 B(Jump), U8(49), 190 B(Jump), U8(49),
184 B(Jump), U8(35), 191 B(Jump), U8(35),
(...skipping 13 matching lines...) Expand all
198 B(LdaSmi), U8(-1), 205 B(LdaSmi), U8(-1),
199 B(Star), R(10), 206 B(Star), R(10),
200 B(Jump), U8(8), 207 B(Jump), U8(8),
201 B(Star), R(11), 208 B(Star), R(11),
202 B(LdaSmi), U8(1), 209 B(LdaSmi), U8(1),
203 B(Star), R(10), 210 B(Star), R(10),
204 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 211 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
205 B(Star), R(12), 212 B(Star), R(12),
206 B(LdaZero), 213 B(LdaZero),
207 B(TestEqualStrict), R(5), U8(15), 214 B(TestEqualStrict), R(5), U8(15),
208 B(JumpIfTrue), U8(121), 215 B(JumpIfTrue), U8(122),
209 B(LdaUndefined), 216 B(LdaUndefined),
210 B(TestEqualStrict), R(3), U8(16), 217 B(TestEqualStrict), R(3), U8(16),
211 B(JumpIfTrue), U8(115), 218 B(JumpIfTrue), U8(116),
212 B(LdrNamedProperty), R(3), U8(7), U8(17), R(7), 219 B(LdaNamedProperty), R(3), U8(7), U8(17),
220 B(Star), R(7),
213 B(LdaNull), 221 B(LdaNull),
214 B(TestEqual), R(7), U8(19), 222 B(TestEqual), R(7), U8(19),
215 B(JumpIfFalse), U8(4), 223 B(JumpIfFalse), U8(4),
216 B(Jump), U8(102), 224 B(Jump), U8(102),
217 B(LdaSmi), U8(1), 225 B(LdaSmi), U8(1),
218 B(TestEqualStrict), R(5), U8(20), 226 B(TestEqualStrict), R(5), U8(20),
219 B(JumpIfFalse), U8(70), 227 B(JumpIfFalse), U8(70),
220 B(Ldar), R(7), 228 B(Ldar), R(7),
221 B(TypeOf), 229 B(TypeOf),
222 B(Star), R(13), 230 B(Star), R(13),
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 282 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
275 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 283 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
276 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 284 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
277 FIXED_ARRAY_TYPE, 285 FIXED_ARRAY_TYPE,
278 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 286 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
279 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 287 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
280 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 288 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
281 FIXED_ARRAY_TYPE, 289 FIXED_ARRAY_TYPE,
282 ] 290 ]
283 handlers: [ 291 handlers: [
284 [11, 116, 122], 292 [11, 119, 125],
285 [14, 81, 83], 293 [14, 84, 86],
286 [200, 210, 212], 294 [204, 214, 216],
287 ] 295 ]
288 296
289 --- 297 ---
290 snippet: " 298 snippet: "
291 for (var x of [10, 20, 30]) { 299 for (var x of [10, 20, 30]) {
292 if (x == 10) continue; 300 if (x == 10) continue;
293 if (x == 20) break; 301 if (x == 20) break;
294 } 302 }
295 " 303 "
296 frame size: 15 304 frame size: 15
297 parameter count: 1 305 parameter count: 1
298 bytecode array length: 295 306 bytecode array length: 299
299 bytecodes: [ 307 bytecodes: [
300 /* 30 E> */ B(StackCheck), 308 /* 30 E> */ B(StackCheck),
301 B(LdaZero), 309 B(LdaZero),
302 B(Star), R(4), 310 B(Star), R(4),
303 B(Mov), R(context), R(11), 311 B(Mov), R(context), R(11),
304 B(Mov), R(context), R(12), 312 B(Mov), R(context), R(12),
305 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 313 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
306 B(Star), R(14), 314 B(Star), R(14),
307 B(LdaConstant), U8(1), 315 B(LdaConstant), U8(1),
308 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(4), R(13), 316 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
317 B(Star), R(13),
309 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2), 318 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2),
310 B(Star), R(2), 319 B(Star), R(2),
311 /* 45 S> */ B(LdrNamedProperty), R(2), U8(2), U8(8), R(14), 320 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8),
321 B(Star), R(14),
312 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), 322 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6),
313 B(Star), R(3), 323 B(Star), R(3),
314 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), 324 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
315 B(ToBooleanLogicalNot), 325 B(ToBooleanLogicalNot),
316 B(JumpIfFalse), U8(7), 326 B(JumpIfFalse), U8(7),
317 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), 327 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
318 B(LdaNamedProperty), R(3), U8(3), U8(10), 328 B(LdaNamedProperty), R(3), U8(3), U8(10),
319 B(JumpIfToBooleanTrue), U8(42), 329 B(JumpIfToBooleanTrue), U8(43),
320 B(LdrNamedProperty), R(3), U8(4), U8(12), R(5), 330 B(LdaNamedProperty), R(3), U8(4), U8(12),
331 B(Star), R(5),
321 B(LdaSmi), U8(2), 332 B(LdaSmi), U8(2),
322 B(Star), R(4), 333 B(Star), R(4),
323 B(Mov), R(5), R(0), 334 B(Mov), R(5), R(0),
324 /* 34 E> */ B(StackCheck), 335 /* 34 E> */ B(StackCheck),
325 B(Mov), R(0), R(1), 336 B(Mov), R(0), R(1),
326 /* 66 S> */ B(LdaSmi), U8(10), 337 /* 66 S> */ B(LdaSmi), U8(10),
327 /* 72 E> */ B(TestEqual), R(1), U8(14), 338 /* 72 E> */ B(TestEqual), R(1), U8(14),
328 B(JumpIfFalse), U8(4), 339 B(JumpIfFalse), U8(4),
329 /* 79 S> */ B(Jump), U8(14), 340 /* 79 S> */ B(Jump), U8(14),
330 /* 91 S> */ B(LdaSmi), U8(20), 341 /* 91 S> */ B(LdaSmi), U8(20),
331 /* 97 E> */ B(TestEqual), R(1), U8(15), 342 /* 97 E> */ B(TestEqual), R(1), U8(15),
332 B(JumpIfFalse), U8(4), 343 B(JumpIfFalse), U8(4),
333 /* 104 S> */ B(Jump), U8(8), 344 /* 104 S> */ B(Jump), U8(8),
334 B(LdaZero), 345 B(LdaZero),
335 B(Star), R(4), 346 B(Star), R(4),
336 B(JumpLoop), U8(-67), U8(0), 347 B(JumpLoop), U8(-69), U8(0),
337 B(Jump), U8(35), 348 B(Jump), U8(35),
338 B(Star), R(13), 349 B(Star), R(13),
339 B(Ldar), R(closure), 350 B(Ldar), R(closure),
340 B(CreateCatchContext), R(13), U8(5), U8(6), 351 B(CreateCatchContext), R(13), U8(5), U8(6),
341 B(Star), R(12), 352 B(Star), R(12),
342 B(PushContext), R(8), 353 B(PushContext), R(8),
343 B(LdaSmi), U8(2), 354 B(LdaSmi), U8(2),
344 B(TestEqualStrict), R(4), U8(16), 355 B(TestEqualStrict), R(4), U8(16),
345 B(JumpIfFalse), U8(6), 356 B(JumpIfFalse), U8(6),
346 B(LdaSmi), U8(1), 357 B(LdaSmi), U8(1),
347 B(Star), R(4), 358 B(Star), R(4),
348 B(LdrCurrentContextSlot), U8(4), R(13), 359 B(LdrCurrentContextSlot), U8(4), R(13),
349 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 360 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
350 B(PopContext), R(8), 361 B(PopContext), R(8),
351 B(LdaSmi), U8(-1), 362 B(LdaSmi), U8(-1),
352 B(Star), R(9), 363 B(Star), R(9),
353 B(Jump), U8(7), 364 B(Jump), U8(7),
354 B(Star), R(10), 365 B(Star), R(10),
355 B(LdaZero), 366 B(LdaZero),
356 B(Star), R(9), 367 B(Star), R(9),
357 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 368 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
358 B(Star), R(11), 369 B(Star), R(11),
359 B(LdaZero), 370 B(LdaZero),
360 B(TestEqualStrict), R(4), U8(17), 371 B(TestEqualStrict), R(4), U8(17),
361 B(JumpIfTrue), U8(121), 372 B(JumpIfTrue), U8(122),
362 B(LdaUndefined), 373 B(LdaUndefined),
363 B(TestEqualStrict), R(2), U8(18), 374 B(TestEqualStrict), R(2), U8(18),
364 B(JumpIfTrue), U8(115), 375 B(JumpIfTrue), U8(116),
365 B(LdrNamedProperty), R(2), U8(7), U8(19), R(6), 376 B(LdaNamedProperty), R(2), U8(7), U8(19),
377 B(Star), R(6),
366 B(LdaNull), 378 B(LdaNull),
367 B(TestEqual), R(6), U8(21), 379 B(TestEqual), R(6), U8(21),
368 B(JumpIfFalse), U8(4), 380 B(JumpIfFalse), U8(4),
369 B(Jump), U8(102), 381 B(Jump), U8(102),
370 B(LdaSmi), U8(1), 382 B(LdaSmi), U8(1),
371 B(TestEqualStrict), R(4), U8(22), 383 B(TestEqualStrict), R(4), U8(22),
372 B(JumpIfFalse), U8(70), 384 B(JumpIfFalse), U8(70),
373 B(Ldar), R(6), 385 B(Ldar), R(6),
374 B(TypeOf), 386 B(TypeOf),
375 B(Star), R(12), 387 B(Star), R(12),
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 434 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
423 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 435 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
424 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 436 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
425 FIXED_ARRAY_TYPE, 437 FIXED_ARRAY_TYPE,
426 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
427 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 439 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
428 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 440 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
429 FIXED_ARRAY_TYPE, 441 FIXED_ARRAY_TYPE,
430 ] 442 ]
431 handlers: [ 443 handlers: [
432 [7, 134, 140], 444 [7, 137, 143],
433 [10, 99, 101], 445 [10, 102, 104],
434 [217, 227, 229], 446 [221, 231, 233],
435 ] 447 ]
436 448
437 --- 449 ---
438 snippet: " 450 snippet: "
439 var x = { 'a': 1, 'b': 2 }; 451 var x = { 'a': 1, 'b': 2 };
440 for (x['a'] of [1,2,3]) { return x['a']; } 452 for (x['a'] of [1,2,3]) { return x['a']; }
441 " 453 "
442 frame size: 14 454 frame size: 14
443 parameter count: 1 455 parameter count: 1
444 bytecode array length: 301 456 bytecode array length: 306
445 bytecodes: [ 457 bytecodes: [
446 /* 30 E> */ B(StackCheck), 458 /* 30 E> */ B(StackCheck),
447 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 459 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
448 B(Mov), R(8), R(0), 460 B(Mov), R(8), R(0),
449 B(LdaZero), 461 B(LdaZero),
450 B(Star), R(3), 462 B(Star), R(3),
451 B(Mov), R(context), R(10), 463 B(Mov), R(context), R(10),
452 B(Mov), R(context), R(11), 464 B(Mov), R(context), R(11),
453 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), 465 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9),
454 B(Star), R(13), 466 B(Star), R(13),
455 B(LdaConstant), U8(2), 467 B(LdaConstant), U8(2),
456 /* 77 E> */ B(LdrKeyedProperty), R(13), U8(4), R(12), 468 /* 77 E> */ B(LdaKeyedProperty), R(13), U8(4),
469 B(Star), R(12),
457 /* 77 E> */ B(CallProperty), R(12), R(13), U8(1), U8(2), 470 /* 77 E> */ B(CallProperty), R(12), R(13), U8(1), U8(2),
458 B(Star), R(1), 471 B(Star), R(1),
459 /* 74 S> */ B(LdrNamedProperty), R(1), U8(3), U8(8), R(13), 472 /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(8),
473 B(Star), R(13),
460 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6), 474 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6),
461 B(Star), R(2), 475 B(Star), R(2),
462 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), 476 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1),
463 B(ToBooleanLogicalNot), 477 B(ToBooleanLogicalNot),
464 B(JumpIfFalse), U8(7), 478 B(JumpIfFalse), U8(7),
465 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1), 479 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
466 B(LdaNamedProperty), R(2), U8(4), U8(10), 480 B(LdaNamedProperty), R(2), U8(4), U8(10),
467 B(JumpIfToBooleanTrue), U8(29), 481 B(JumpIfToBooleanTrue), U8(31),
468 /* 67 E> */ B(LdrNamedProperty), R(2), U8(5), U8(12), R(4), 482 /* 67 E> */ B(LdaNamedProperty), R(2), U8(5), U8(12),
483 B(Star), R(4),
469 B(LdaSmi), U8(2), 484 B(LdaSmi), U8(2),
470 B(Star), R(3), 485 B(Star), R(3),
471 B(Ldar), R(4), 486 B(Ldar), R(4),
472 B(StaNamedPropertySloppy), R(0), U8(6), U8(14), 487 B(StaNamedPropertySloppy), R(0), U8(6), U8(14),
473 /* 62 E> */ B(StackCheck), 488 /* 62 E> */ B(StackCheck),
474 /* 88 S> */ B(Nop), 489 /* 88 S> */ B(Nop),
475 /* 96 E> */ B(LdrNamedProperty), R(0), U8(6), U8(16), R(9), 490 /* 96 E> */ B(LdaNamedProperty), R(0), U8(6), U8(16),
491 B(Star), R(9),
476 B(LdaZero), 492 B(LdaZero),
477 B(Star), R(8), 493 B(Star), R(8),
478 B(Jump), U8(49), 494 B(Jump), U8(49),
479 B(Jump), U8(35), 495 B(Jump), U8(35),
480 B(Star), R(12), 496 B(Star), R(12),
481 B(Ldar), R(closure), 497 B(Ldar), R(closure),
482 B(CreateCatchContext), R(12), U8(7), U8(8), 498 B(CreateCatchContext), R(12), U8(7), U8(8),
483 B(Star), R(11), 499 B(Star), R(11),
484 B(PushContext), R(7), 500 B(PushContext), R(7),
485 B(LdaSmi), U8(2), 501 B(LdaSmi), U8(2),
486 B(TestEqualStrict), R(3), U8(18), 502 B(TestEqualStrict), R(3), U8(18),
487 B(JumpIfFalse), U8(6), 503 B(JumpIfFalse), U8(6),
488 B(LdaSmi), U8(1), 504 B(LdaSmi), U8(1),
489 B(Star), R(3), 505 B(Star), R(3),
490 B(LdrCurrentContextSlot), U8(4), R(12), 506 B(LdrCurrentContextSlot), U8(4), R(12),
491 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 507 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
492 B(PopContext), R(7), 508 B(PopContext), R(7),
493 B(LdaSmi), U8(-1), 509 B(LdaSmi), U8(-1),
494 B(Star), R(8), 510 B(Star), R(8),
495 B(Jump), U8(8), 511 B(Jump), U8(8),
496 B(Star), R(9), 512 B(Star), R(9),
497 B(LdaSmi), U8(1), 513 B(LdaSmi), U8(1),
498 B(Star), R(8), 514 B(Star), R(8),
499 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 515 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
500 B(Star), R(10), 516 B(Star), R(10),
501 B(LdaZero), 517 B(LdaZero),
502 B(TestEqualStrict), R(3), U8(19), 518 B(TestEqualStrict), R(3), U8(19),
503 B(JumpIfTrue), U8(121), 519 B(JumpIfTrue), U8(122),
504 B(LdaUndefined), 520 B(LdaUndefined),
505 B(TestEqualStrict), R(1), U8(20), 521 B(TestEqualStrict), R(1), U8(20),
506 B(JumpIfTrue), U8(115), 522 B(JumpIfTrue), U8(116),
507 B(LdrNamedProperty), R(1), U8(9), U8(21), R(5), 523 B(LdaNamedProperty), R(1), U8(9), U8(21),
524 B(Star), R(5),
508 B(LdaNull), 525 B(LdaNull),
509 B(TestEqual), R(5), U8(23), 526 B(TestEqual), R(5), U8(23),
510 B(JumpIfFalse), U8(4), 527 B(JumpIfFalse), U8(4),
511 B(Jump), U8(102), 528 B(Jump), U8(102),
512 B(LdaSmi), U8(1), 529 B(LdaSmi), U8(1),
513 B(TestEqualStrict), R(3), U8(24), 530 B(TestEqualStrict), R(3), U8(24),
514 B(JumpIfFalse), U8(70), 531 B(JumpIfFalse), U8(70),
515 B(Ldar), R(5), 532 B(Ldar), R(5),
516 B(TypeOf), 533 B(TypeOf),
517 B(Star), R(11), 534 B(Star), R(11),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 588 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
572 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], 589 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
573 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 590 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
574 FIXED_ARRAY_TYPE, 591 FIXED_ARRAY_TYPE,
575 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
576 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
577 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 594 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
578 FIXED_ARRAY_TYPE, 595 FIXED_ARRAY_TYPE,
579 ] 596 ]
580 handlers: [ 597 handlers: [
581 [15, 129, 135], 598 [15, 133, 139],
582 [18, 94, 96], 599 [18, 98, 100],
583 [213, 223, 225], 600 [218, 228, 230],
584 ] 601 ]
585 602
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698