blob: 05ee65710512a071b6fafb60fd5a76454bf66ffd [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001#
2# Autogenerated by generate-bytecode-expectations.
3#
4
5---
6pool type: mixed
7execute: yes
8wrap: yes
9
10---
11snippet: "
12 var x = 0;
13 while (false) { x = 99; break; continue; }
14 return x;
15"
16frame size: 1
17parameter count: 1
18bytecode array length: 5
19bytecodes: [
20 B(StackCheck),
21 B(LdaZero),
22 B(Star), R(0),
23 B(Return),
24]
25constant pool: [
26]
27handlers: [
28]
29
30---
31snippet: "
32 var x = 0;
33 while (false) {
34 x = x + 1;
35 };
36 return x;
37"
38frame size: 1
39parameter count: 1
40bytecode array length: 5
41bytecodes: [
42 B(StackCheck),
43 B(LdaZero),
44 B(Star), R(0),
45 B(Return),
46]
47constant pool: [
48]
49handlers: [
50]
51
52---
53snippet: "
54 var x = 0;
55 var y = 1;
56 while (x < 10) {
57 y = y * 12;
58 x = x + 1;
59 if (x == 3) continue;
60 if (x == 4) break;
61 }
62 return y;
63"
64frame size: 3
65parameter count: 1
66bytecode array length: 66
67bytecodes: [
68 B(StackCheck),
69 B(LdaZero),
70 B(Star), R(0),
71 B(LdaSmi), U8(1),
72 B(Star), R(1),
73 B(Ldar), R(0),
74 B(Star), R(2),
75 B(LdaSmi), U8(10),
76 B(TestLessThan), R(2),
77 B(JumpIfFalse), U8(47),
78 B(StackCheck),
79 B(Ldar), R(1),
80 B(Star), R(2),
81 B(LdaSmi), U8(12),
82 B(Mul), R(2),
83 B(Star), R(1),
84 B(Ldar), R(0),
85 B(Star), R(2),
86 B(LdaSmi), U8(1),
87 B(Add), R(2),
88 B(Star), R(0),
89 B(Star), R(2),
90 B(LdaSmi), U8(3),
91 B(TestEqual), R(2),
92 B(JumpIfFalse), U8(4),
93 B(Jump), U8(-39),
94 B(Ldar), R(0),
95 B(Star), R(2),
96 B(LdaSmi), U8(4),
97 B(TestEqual), R(2),
98 B(JumpIfFalse), U8(4),
99 B(Jump), U8(4),
100 B(Jump), U8(-53),
101 B(Ldar), R(1),
102 B(Return),
103]
104constant pool: [
105]
106handlers: [
107]
108
109---
110snippet: "
111 var i = 0;
112 while (true) {
113 if (i < 0) continue;
114 if (i == 3) break;
115 if (i == 4) break;
116 if (i == 10) continue;
117 if (i == 5) break;
118 i = i + 1;
119 }
120 return i;
121"
122frame size: 2
123parameter count: 1
124bytecode array length: 79
125bytecodes: [
126 B(StackCheck),
127 B(LdaZero),
128 B(Star), R(0),
129 B(StackCheck),
130 B(Ldar), R(0),
131 B(Star), R(1),
132 B(LdaZero),
133 B(TestLessThan), R(1),
134 B(JumpIfFalse), U8(4),
135 B(Jump), U8(-10),
136 B(Ldar), R(0),
137 B(Star), R(1),
138 B(LdaSmi), U8(3),
139 B(TestEqual), R(1),
140 B(JumpIfFalse), U8(4),
141 B(Jump), U8(50),
142 B(Ldar), R(0),
143 B(Star), R(1),
144 B(LdaSmi), U8(4),
145 B(TestEqual), R(1),
146 B(JumpIfFalse), U8(4),
147 B(Jump), U8(38),
148 B(Ldar), R(0),
149 B(Star), R(1),
150 B(LdaSmi), U8(10),
151 B(TestEqual), R(1),
152 B(JumpIfFalse), U8(4),
153 B(Jump), U8(-46),
154 B(Ldar), R(0),
155 B(Star), R(1),
156 B(LdaSmi), U8(5),
157 B(TestEqual), R(1),
158 B(JumpIfFalse), U8(4),
159 B(Jump), U8(14),
160 B(Ldar), R(0),
161 B(Star), R(1),
162 B(LdaSmi), U8(1),
163 B(Add), R(1),
164 B(Star), R(0),
165 B(Jump), U8(-70),
166 B(Ldar), R(0),
167 B(Return),
168]
169constant pool: [
170]
171handlers: [
172]
173
174---
175snippet: "
176 var i = 0;
177 while (true) {
178 while (i < 3) {
179 if (i == 2) break;
180 i = i + 1;
181 }
182 i = i + 1;
183 break;
184 }
185 return i;
186"
187frame size: 2
188parameter count: 1
189bytecode array length: 57
190bytecodes: [
191 B(StackCheck),
192 B(LdaZero),
193 B(Star), R(0),
194 B(StackCheck),
195 B(Ldar), R(0),
196 B(Star), R(1),
197 B(LdaSmi), U8(3),
198 B(TestLessThan), R(1),
199 B(JumpIfFalse), U8(27),
200 B(StackCheck),
201 B(Ldar), R(0),
202 B(Star), R(1),
203 B(LdaSmi), U8(2),
204 B(TestEqual), R(1),
205 B(JumpIfFalse), U8(4),
206 B(Jump), U8(14),
207 B(Ldar), R(0),
208 B(Star), R(1),
209 B(LdaSmi), U8(1),
210 B(Add), R(1),
211 B(Star), R(0),
212 B(Jump), U8(-33),
213 B(Ldar), R(0),
214 B(Star), R(1),
215 B(LdaSmi), U8(1),
216 B(Add), R(1),
217 B(Star), R(0),
218 B(Jump), U8(4),
219 B(Jump), U8(-48),
220 B(Ldar), R(0),
221 B(Return),
222]
223constant pool: [
224]
225handlers: [
226]
227
228---
229snippet: "
230 var x = 10;
231 var y = 1;
232 while (x) {
233 y = y * 12;
234 x = x - 1;
235 }
236 return y;
237"
238frame size: 3
239parameter count: 1
240bytecode array length: 39
241bytecodes: [
242 B(StackCheck),
243 B(LdaSmi), U8(10),
244 B(Star), R(0),
245 B(LdaSmi), U8(1),
246 B(Star), R(1),
247 B(Ldar), R(0),
248 B(JumpIfToBooleanFalse), U8(25),
249 B(StackCheck),
250 B(Ldar), R(1),
251 B(Star), R(2),
252 B(LdaSmi), U8(12),
253 B(Mul), R(2),
254 B(Star), R(1),
255 B(Ldar), R(0),
256 B(Star), R(2),
257 B(LdaSmi), U8(1),
258 B(Sub), R(2),
259 B(Star), R(0),
260 B(Jump), U8(-25),
261 B(Ldar), R(1),
262 B(Return),
263]
264constant pool: [
265]
266handlers: [
267]
268
269---
270snippet: "
271 var x = 0; var y = 1;
272 do {
273 y = y * 10;
274 if (x == 5) break;
275 if (x == 6) continue;
276 x = x + 1;
277 } while (x < 10);
278 return y;
279"
280frame size: 3
281parameter count: 1
282bytecode array length: 66
283bytecodes: [
284 B(StackCheck),
285 B(LdaZero),
286 B(Star), R(0),
287 B(LdaSmi), U8(1),
288 B(Star), R(1),
289 B(StackCheck),
290 B(Ldar), R(1),
291 B(Star), R(2),
292 B(LdaSmi), U8(10),
293 B(Mul), R(2),
294 B(Star), R(1),
295 B(Ldar), R(0),
296 B(Star), R(2),
297 B(LdaSmi), U8(5),
298 B(TestEqual), R(2),
299 B(JumpIfFalse), U8(4),
300 B(Jump), U8(34),
301 B(Ldar), R(0),
302 B(Star), R(2),
303 B(LdaSmi), U8(6),
304 B(TestEqual), R(2),
305 B(JumpIfFalse), U8(4),
306 B(Jump), U8(12),
307 B(Ldar), R(0),
308 B(Star), R(2),
309 B(LdaSmi), U8(1),
310 B(Add), R(2),
311 B(Star), R(0),
312 B(Ldar), R(0),
313 B(Star), R(2),
314 B(LdaSmi), U8(10),
315 B(TestLessThan), R(2),
316 B(JumpIfTrue), U8(-53),
317 B(Ldar), R(1),
318 B(Return),
319]
320constant pool: [
321]
322handlers: [
323]
324
325---
326snippet: "
327 var x = 10;
328 var y = 1;
329 do {
330 y = y * 12;
331 x = x - 1;
332 } while (x);
333 return y;
334"
335frame size: 3
336parameter count: 1
337bytecode array length: 37
338bytecodes: [
339 B(StackCheck),
340 B(LdaSmi), U8(10),
341 B(Star), R(0),
342 B(LdaSmi), U8(1),
343 B(Star), R(1),
344 B(StackCheck),
345 B(Ldar), R(1),
346 B(Star), R(2),
347 B(LdaSmi), U8(12),
348 B(Mul), R(2),
349 B(Star), R(1),
350 B(Ldar), R(0),
351 B(Star), R(2),
352 B(LdaSmi), U8(1),
353 B(Sub), R(2),
354 B(Star), R(0),
355 B(Ldar), R(0),
356 B(JumpIfToBooleanTrue), U8(-23),
357 B(Ldar), R(1),
358 B(Return),
359]
360constant pool: [
361]
362handlers: [
363]
364
365---
366snippet: "
367 var x = 0; var y = 1;
368 do {
369 y = y * 10;
370 if (x == 5) break;
371 x = x + 1;
372 if (x == 6) continue;
373 } while (false);
374 return y;
375"
376frame size: 3
377parameter count: 1
378bytecode array length: 54
379bytecodes: [
380 B(StackCheck),
381 B(LdaZero),
382 B(Star), R(0),
383 B(LdaSmi), U8(1),
384 B(Star), R(1),
385 B(StackCheck),
386 B(Ldar), R(1),
387 B(Star), R(2),
388 B(LdaSmi), U8(10),
389 B(Mul), R(2),
390 B(Star), R(1),
391 B(Ldar), R(0),
392 B(Star), R(2),
393 B(LdaSmi), U8(5),
394 B(TestEqual), R(2),
395 B(JumpIfFalse), U8(4),
396 B(Jump), U8(22),
397 B(Ldar), R(0),
398 B(Star), R(2),
399 B(LdaSmi), U8(1),
400 B(Add), R(2),
401 B(Star), R(0),
402 B(Star), R(2),
403 B(LdaSmi), U8(6),
404 B(TestEqual), R(2),
405 B(JumpIfFalse), U8(4),
406 B(Jump), U8(2),
407 B(Ldar), R(1),
408 B(Return),
409]
410constant pool: [
411]
412handlers: [
413]
414
415---
416snippet: "
417 var x = 0; var y = 1;
418 do {
419 y = y * 10;
420 if (x == 5) break;
421 x = x + 1;
422 if (x == 6) continue;
423 } while (true);
424 return y;
425"
426frame size: 3
427parameter count: 1
428bytecode array length: 56
429bytecodes: [
430 B(StackCheck),
431 B(LdaZero),
432 B(Star), R(0),
433 B(LdaSmi), U8(1),
434 B(Star), R(1),
435 B(StackCheck),
436 B(Ldar), R(1),
437 B(Star), R(2),
438 B(LdaSmi), U8(10),
439 B(Mul), R(2),
440 B(Star), R(1),
441 B(Ldar), R(0),
442 B(Star), R(2),
443 B(LdaSmi), U8(5),
444 B(TestEqual), R(2),
445 B(JumpIfFalse), U8(4),
446 B(Jump), U8(24),
447 B(Ldar), R(0),
448 B(Star), R(2),
449 B(LdaSmi), U8(1),
450 B(Add), R(2),
451 B(Star), R(0),
452 B(Star), R(2),
453 B(LdaSmi), U8(6),
454 B(TestEqual), R(2),
455 B(JumpIfFalse), U8(4),
456 B(Jump), U8(-41),
457 B(Jump), U8(-43),
458 B(Ldar), R(1),
459 B(Return),
460]
461constant pool: [
462]
463handlers: [
464]
465
466---
467snippet: "
468 var x = 0;
469 for (;;) {
470 if (x == 1) break;
471 if (x == 2) continue;
472 x = x + 1;
473 }
474"
475frame size: 2
476parameter count: 1
477bytecode array length: 43
478bytecodes: [
479 B(StackCheck),
480 B(LdaZero),
481 B(Star), R(0),
482 B(StackCheck),
483 B(Ldar), R(0),
484 B(Star), R(1),
485 B(LdaSmi), U8(1),
486 B(TestEqual), R(1),
487 B(JumpIfFalse), U8(4),
488 B(Jump), U8(26),
489 B(Ldar), R(0),
490 B(Star), R(1),
491 B(LdaSmi), U8(2),
492 B(TestEqual), R(1),
493 B(JumpIfFalse), U8(4),
494 B(Jump), U8(-23),
495 B(Ldar), R(0),
496 B(Star), R(1),
497 B(LdaSmi), U8(1),
498 B(Add), R(1),
499 B(Star), R(0),
500 B(Jump), U8(-35),
501 B(LdaUndefined),
502 B(Return),
503]
504constant pool: [
505]
506handlers: [
507]
508
509---
510snippet: "
511 for (var x = 0;;) {
512 if (x == 1) break;
513 if (x == 2) continue;
514 x = x + 1;
515 }
516"
517frame size: 2
518parameter count: 1
519bytecode array length: 43
520bytecodes: [
521 B(StackCheck),
522 B(LdaZero),
523 B(Star), R(0),
524 B(StackCheck),
525 B(Ldar), R(0),
526 B(Star), R(1),
527 B(LdaSmi), U8(1),
528 B(TestEqual), R(1),
529 B(JumpIfFalse), U8(4),
530 B(Jump), U8(26),
531 B(Ldar), R(0),
532 B(Star), R(1),
533 B(LdaSmi), U8(2),
534 B(TestEqual), R(1),
535 B(JumpIfFalse), U8(4),
536 B(Jump), U8(-23),
537 B(Ldar), R(0),
538 B(Star), R(1),
539 B(LdaSmi), U8(1),
540 B(Add), R(1),
541 B(Star), R(0),
542 B(Jump), U8(-35),
543 B(LdaUndefined),
544 B(Return),
545]
546constant pool: [
547]
548handlers: [
549]
550
551---
552snippet: "
553 var x = 0;
554 for (;; x = x + 1) {
555 if (x == 1) break;
556 if (x == 2) continue;
557 }
558"
559frame size: 2
560parameter count: 1
561bytecode array length: 43
562bytecodes: [
563 B(StackCheck),
564 B(LdaZero),
565 B(Star), R(0),
566 B(StackCheck),
567 B(Ldar), R(0),
568 B(Star), R(1),
569 B(LdaSmi), U8(1),
570 B(TestEqual), R(1),
571 B(JumpIfFalse), U8(4),
572 B(Jump), U8(26),
573 B(Ldar), R(0),
574 B(Star), R(1),
575 B(LdaSmi), U8(2),
576 B(TestEqual), R(1),
577 B(JumpIfFalse), U8(4),
578 B(Jump), U8(2),
579 B(Ldar), R(0),
580 B(Star), R(1),
581 B(LdaSmi), U8(1),
582 B(Add), R(1),
583 B(Star), R(0),
584 B(Jump), U8(-35),
585 B(LdaUndefined),
586 B(Return),
587]
588constant pool: [
589]
590handlers: [
591]
592
593---
594snippet: "
595 for (var x = 0;; x = x + 1) {
596 if (x == 1) break;
597 if (x == 2) continue;
598 }
599"
600frame size: 2
601parameter count: 1
602bytecode array length: 43
603bytecodes: [
604 B(StackCheck),
605 B(LdaZero),
606 B(Star), R(0),
607 B(StackCheck),
608 B(Ldar), R(0),
609 B(Star), R(1),
610 B(LdaSmi), U8(1),
611 B(TestEqual), R(1),
612 B(JumpIfFalse), U8(4),
613 B(Jump), U8(26),
614 B(Ldar), R(0),
615 B(Star), R(1),
616 B(LdaSmi), U8(2),
617 B(TestEqual), R(1),
618 B(JumpIfFalse), U8(4),
619 B(Jump), U8(2),
620 B(Ldar), R(0),
621 B(Star), R(1),
622 B(LdaSmi), U8(1),
623 B(Add), R(1),
624 B(Star), R(0),
625 B(Jump), U8(-35),
626 B(LdaUndefined),
627 B(Return),
628]
629constant pool: [
630]
631handlers: [
632]
633
634---
635snippet: "
636 var u = 0;
637 for (var i = 0; i < 100; i = i + 1) {
638 u = u + 1;
639 continue;
640 }
641"
642frame size: 3
643parameter count: 1
644bytecode array length: 44
645bytecodes: [
646 B(StackCheck),
647 B(LdaZero),
648 B(Star), R(0),
649 B(LdaZero),
650 B(Star), R(1),
651 B(Ldar), R(1),
652 B(Star), R(2),
653 B(LdaSmi), U8(100),
654 B(TestLessThan), R(2),
655 B(JumpIfFalse), U8(27),
656 B(StackCheck),
657 B(Ldar), R(0),
658 B(Star), R(2),
659 B(LdaSmi), U8(1),
660 B(Add), R(2),
661 B(Star), R(0),
662 B(Jump), U8(2),
663 B(Ldar), R(1),
664 B(Star), R(2),
665 B(LdaSmi), U8(1),
666 B(Add), R(2),
667 B(Star), R(1),
668 B(Jump), U8(-33),
669 B(LdaUndefined),
670 B(Return),
671]
672constant pool: [
673]
674handlers: [
675]
676
677---
678snippet: "
679 var y = 1;
680 for (var x = 10; x; --x) {
681 y = y * 12;
682 }
683 return y;
684"
685frame size: 3
686parameter count: 1
687bytecode array length: 35
688bytecodes: [
689 B(StackCheck),
690 B(LdaSmi), U8(1),
691 B(Star), R(0),
692 B(LdaSmi), U8(10),
693 B(Star), R(1),
694 B(Ldar), R(1),
695 B(JumpIfToBooleanFalse), U8(21),
696 B(StackCheck),
697 B(Ldar), R(0),
698 B(Star), R(2),
699 B(LdaSmi), U8(12),
700 B(Mul), R(2),
701 B(Star), R(0),
702 B(Ldar), R(1),
703 B(ToNumber),
704 B(Dec),
705 B(Star), R(1),
706 B(Jump), U8(-21),
707 B(Ldar), R(0),
708 B(Return),
709]
710constant pool: [
711]
712handlers: [
713]
714
715---
716snippet: "
717 var x = 0;
718 for (var i = 0; false; i++) {
719 x = x + 1;
720 };
721 return x;
722"
723frame size: 2
724parameter count: 1
725bytecode array length: 10
726bytecodes: [
727 B(StackCheck),
728 B(LdaZero),
729 B(Star), R(0),
730 B(LdaZero),
731 B(Star), R(1),
732 B(Ldar), R(0),
733 B(Return),
734]
735constant pool: [
736]
737handlers: [
738]
739
740---
741snippet: "
742 var x = 0;
743 for (var i = 0; true; ++i) {
744 x = x + 1;
745 if (x == 20) break;
746 };
747 return x;
748"
749frame size: 3
750parameter count: 1
751bytecode array length: 39
752bytecodes: [
753 B(StackCheck),
754 B(LdaZero),
755 B(Star), R(0),
756 B(LdaZero),
757 B(Star), R(1),
758 B(StackCheck),
759 B(Ldar), R(0),
760 B(Star), R(2),
761 B(LdaSmi), U8(1),
762 B(Add), R(2),
763 B(Star), R(0),
764 B(Star), R(2),
765 B(LdaSmi), U8(20),
766 B(TestEqual), R(2),
767 B(JumpIfFalse), U8(4),
768 B(Jump), U8(10),
769 B(Ldar), R(1),
770 B(ToNumber),
771 B(Inc),
772 B(Star), R(1),
773 B(Jump), U8(-27),
774 B(Ldar), R(0),
775 B(Return),
776]
777constant pool: [
778]
779handlers: [
780]
781
782---
783snippet: "
784 var a = 0;
785 while (a) {
786 {
787 let z = 1;
788 function f() { z = 2; }
789 if (z) continue;
790 z++;
791 }
792 }
793"
794frame size: 7
795parameter count: 1
796bytecode array length: 120
797bytecodes: [
798 B(StackCheck),
799 B(LdaZero),
800 B(Star), R(1),
801 B(Ldar), R(1),
802 B(JumpIfToBooleanFalse), U8(112),
803 B(StackCheck),
804 B(LdaConstant), U8(0),
805 B(Star), R(4),
806 B(Ldar), R(closure),
807 B(Star), R(5),
808 B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
809 B(PushContext), R(3),
810 B(LdaTheHole),
811 B(StaContextSlot), R(context), U8(4),
812 B(CreateClosure), U8(1), U8(0),
813 B(Star), R(0),
814 B(LdaSmi), U8(1),
815 B(StaContextSlot), R(context), U8(4),
816 B(Ldar), R(0),
817 B(JumpIfNotHole), U8(11),
818 B(LdaConstant), U8(2),
819 B(Star), R(4),
820 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
821 B(Star), R(2),
822 B(LdaContextSlot), R(context), U8(4),
823 B(JumpIfNotHole), U8(11),
824 B(LdaConstant), U8(3),
825 B(Star), R(4),
826 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
827 B(JumpIfToBooleanFalse), U8(8),
828 B(PopContext), R(3),
829 B(PopContext), R(3),
830 B(Jump), U8(-69),
831 B(LdaContextSlot), R(context), U8(4),
832 B(JumpIfNotHole), U8(11),
833 B(LdaConstant), U8(3),
834 B(Star), R(4),
835 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
836 B(ToNumber),
837 B(Star), R(4),
838 B(Inc),
839 B(Star), R(5),
840 B(LdaContextSlot), R(context), U8(4),
841 B(JumpIfNotHole), U8(11),
842 B(LdaConstant), U8(3),
843 B(Star), R(6),
844 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
845 B(Ldar), R(5),
846 B(StaContextSlot), R(context), U8(4),
847 B(PopContext), R(3),
848 B(Jump), U8(-112),
849 B(LdaUndefined),
850 B(Return),
851]
852constant pool: [
853 InstanceType::FIXED_ARRAY_TYPE,
854 InstanceType::SHARED_FUNCTION_INFO_TYPE,
855 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
856 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
857]
858handlers: [
859]
860