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

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

Issue 2557593004: [ignition] desugar GetIterator() via bytecode rather than via AST (Closed)
Patch Set: get tests passing Created 4 years 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: 268 14 bytecode array length: 274
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(13),
23 B(LdaNamedProperty), R(13), U8(1), U8(2),
22 B(Star), R(14), 24 B(Star), R(14),
23 B(LdaConstant), U8(1), 25 B(CallProperty), R(14), R(13), U8(1), U8(4),
24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 26 B(JumpIfJSReceiver), U8(7),
25 B(Star), R(13), 27 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
caitp 2016/12/06 05:49:11 well, the other downside is how much bigger the by
rmcilroy 2016/12/06 15:02:28 I'm slightly confused by this - it looks like the
caitp 2016/12/06 15:14:58 These nodes were only added for yield* desugaring,
caitp 2016/12/06 16:07:07 Also note, not including the typecheck is an obser
26 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2),
27 B(Star), R(2), 28 B(Star), R(2),
28 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), 29 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8),
29 B(Star), R(14), 30 B(Star), R(14),
30 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), 31 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6),
31 B(Star), R(3), 32 B(Star), R(3),
32 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), 33 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
33 B(ToBooleanLogicalNot), 34 B(ToBooleanLogicalNot),
34 B(JumpIfFalse), U8(7), 35 B(JumpIfFalse), U8(7),
35 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), 36 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
36 B(LdaNamedProperty), R(3), U8(3), U8(10), 37 B(LdaNamedProperty), R(3), U8(3), U8(10),
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 137 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
137 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 138 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
138 FIXED_ARRAY_TYPE, 139 FIXED_ARRAY_TYPE,
139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 141 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
141 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 142 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
142 FIXED_ARRAY_TYPE, 143 FIXED_ARRAY_TYPE,
143 ] 144 ]
144 handlers: [ 145 handlers: [
145 [7, 120, 126], 146 [7, 126, 132],
146 [10, 84, 86], 147 [10, 90, 92],
147 [195, 205, 207], 148 [201, 211, 213],
148 ] 149 ]
149 150
150 --- 151 ---
151 snippet: " 152 snippet: "
152 var x = 'potatoes'; 153 var x = 'potatoes';
153 for (var p of x) { return p; } 154 for (var p of x) { return p; }
154 " 155 "
155 frame size: 16 156 frame size: 16
156 parameter count: 1 157 parameter count: 1
157 bytecode array length: 279 158 bytecode array length: 288
158 bytecodes: [ 159 bytecodes: [
159 /* 30 E> */ B(StackCheck), 160 /* 30 E> */ B(StackCheck),
160 /* 42 S> */ B(LdaConstant), U8(0), 161 /* 42 S> */ B(LdaConstant), U8(0),
161 B(Star), R(0), 162 B(Star), R(0),
162 B(LdaZero), 163 B(LdaZero),
163 B(Star), R(5), 164 B(Star), R(5),
164 B(Mov), R(context), R(12), 165 B(Mov), R(context), R(12),
165 B(Mov), R(context), R(13), 166 B(Mov), R(context), R(13),
166 /* 68 S> */ B(LdaConstant), U8(1), 167 /* 68 S> */ B(LdaNamedProperty), R(0), U8(1), U8(2),
167 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4), 168 B(Star), R(15),
168 B(Star), R(14), 169 B(CallProperty), R(15), R(0), U8(1), U8(4),
169 /* 68 E> */ B(CallProperty), R(14), R(0), U8(1), U8(2), 170 B(Mov), R(0), R(14),
171 B(JumpIfJSReceiver), U8(7),
172 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
170 B(Star), R(3), 173 B(Star), R(3),
171 /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8), 174 /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8),
172 B(Star), R(15), 175 B(Star), R(15),
173 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6), 176 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6),
174 B(Star), R(4), 177 B(Star), R(4),
175 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), 178 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1),
176 B(ToBooleanLogicalNot), 179 B(ToBooleanLogicalNot),
177 B(JumpIfFalse), U8(7), 180 B(JumpIfFalse), U8(7),
178 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1), 181 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1),
179 B(LdaNamedProperty), R(4), U8(3), U8(10), 182 B(LdaNamedProperty), R(4), U8(3), U8(10),
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 287 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
285 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
286 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 289 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
287 FIXED_ARRAY_TYPE, 290 FIXED_ARRAY_TYPE,
288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 291 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
289 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 292 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
290 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 293 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
291 FIXED_ARRAY_TYPE, 294 FIXED_ARRAY_TYPE,
292 ] 295 ]
293 handlers: [ 296 handlers: [
294 [11, 120, 126], 297 [11, 129, 135],
295 [14, 84, 86], 298 [14, 93, 95],
296 [196, 206, 208], 299 [205, 215, 217],
297 ] 300 ]
298 301
299 --- 302 ---
300 snippet: " 303 snippet: "
301 for (var x of [10, 20, 30]) { 304 for (var x of [10, 20, 30]) {
302 if (x == 10) continue; 305 if (x == 10) continue;
303 if (x == 20) break; 306 if (x == 20) break;
304 } 307 }
305 " 308 "
306 frame size: 15 309 frame size: 15
307 parameter count: 1 310 parameter count: 1
308 bytecode array length: 286 311 bytecode array length: 292
309 bytecodes: [ 312 bytecodes: [
310 /* 30 E> */ B(StackCheck), 313 /* 30 E> */ B(StackCheck),
311 B(LdaZero), 314 B(LdaZero),
312 B(Star), R(4), 315 B(Star), R(4),
313 B(Mov), R(context), R(11), 316 B(Mov), R(context), R(11),
314 B(Mov), R(context), R(12), 317 B(Mov), R(context), R(12),
315 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 318 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
319 B(Star), R(13),
320 B(LdaNamedProperty), R(13), U8(1), U8(2),
316 B(Star), R(14), 321 B(Star), R(14),
317 B(LdaConstant), U8(1), 322 B(CallProperty), R(14), R(13), U8(1), U8(4),
318 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 323 B(JumpIfJSReceiver), U8(7),
319 B(Star), R(13), 324 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
320 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2),
321 B(Star), R(2), 325 B(Star), R(2),
322 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), 326 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8),
323 B(Star), R(14), 327 B(Star), R(14),
324 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), 328 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6),
325 B(Star), R(3), 329 B(Star), R(3),
326 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), 330 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
327 B(ToBooleanLogicalNot), 331 B(ToBooleanLogicalNot),
328 B(JumpIfFalse), U8(7), 332 B(JumpIfFalse), U8(7),
329 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), 333 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
330 B(LdaNamedProperty), R(3), U8(3), U8(10), 334 B(LdaNamedProperty), R(3), U8(3), U8(10),
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
439 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 443 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
440 FIXED_ARRAY_TYPE, 444 FIXED_ARRAY_TYPE,
441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 445 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 446 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
443 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 447 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
444 FIXED_ARRAY_TYPE, 448 FIXED_ARRAY_TYPE,
445 ] 449 ]
446 handlers: [ 450 handlers: [
447 [7, 138, 144], 451 [7, 144, 150],
448 [10, 102, 104], 452 [10, 108, 110],
449 [213, 223, 225], 453 [219, 229, 231],
450 ] 454 ]
451 455
452 --- 456 ---
453 snippet: " 457 snippet: "
454 var x = { 'a': 1, 'b': 2 }; 458 var x = { 'a': 1, 'b': 2 };
455 for (x['a'] of [1,2,3]) { return x['a']; } 459 for (x['a'] of [1,2,3]) { return x['a']; }
456 " 460 "
457 frame size: 14 461 frame size: 14
458 parameter count: 1 462 parameter count: 1
459 bytecode array length: 293 463 bytecode array length: 299
460 bytecodes: [ 464 bytecodes: [
461 /* 30 E> */ B(StackCheck), 465 /* 30 E> */ B(StackCheck),
462 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 466 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
463 B(Mov), R(8), R(0), 467 B(Mov), R(8), R(0),
464 B(LdaZero), 468 B(LdaZero),
465 B(Star), R(3), 469 B(Star), R(3),
466 B(Mov), R(context), R(10), 470 B(Mov), R(context), R(10),
467 B(Mov), R(context), R(11), 471 B(Mov), R(context), R(11),
468 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), 472 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9),
473 B(Star), R(12),
474 B(LdaNamedProperty), R(12), U8(2), U8(2),
469 B(Star), R(13), 475 B(Star), R(13),
470 B(LdaConstant), U8(2), 476 B(CallProperty), R(13), R(12), U8(1), U8(4),
471 /* 77 E> */ B(LdaKeyedProperty), R(13), U8(4), 477 B(JumpIfJSReceiver), U8(7),
472 B(Star), R(12), 478 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
473 /* 77 E> */ B(CallProperty), R(12), R(13), U8(1), U8(2),
474 B(Star), R(1), 479 B(Star), R(1),
475 /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(8), 480 /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(8),
476 B(Star), R(13), 481 B(Star), R(13),
477 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6), 482 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6),
478 B(Star), R(2), 483 B(Star), R(2),
479 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), 484 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1),
480 B(ToBooleanLogicalNot), 485 B(ToBooleanLogicalNot),
481 B(JumpIfFalse), U8(7), 486 B(JumpIfFalse), U8(7),
482 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1), 487 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
483 B(LdaNamedProperty), R(2), U8(4), U8(10), 488 B(LdaNamedProperty), R(2), U8(4), U8(10),
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], 598 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
594 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 599 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
595 FIXED_ARRAY_TYPE, 600 FIXED_ARRAY_TYPE,
596 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 601 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 602 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
598 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 603 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
599 FIXED_ARRAY_TYPE, 604 FIXED_ARRAY_TYPE,
600 ] 605 ]
601 handlers: [ 606 handlers: [
602 [15, 134, 140], 607 [15, 140, 146],
603 [18, 98, 100], 608 [18, 104, 106],
604 [210, 220, 222], 609 [216, 226, 228],
605 ] 610 ]
606 611
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698