OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |