blob: 7936736822dafcb064b0df0b729d0b8e0d1211a8 [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: [
Ben Murdochc5610432016-08-08 18:44:38 +010020 /* 30 E> */ B(StackCheck),
21 /* 42 S> */ B(LdaZero),
22 /* 42 E> */ B(Star), R(0),
23 /* 98 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010024]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +010042 /* 30 E> */ B(StackCheck),
43 /* 42 S> */ B(LdaZero),
44 /* 42 E> */ B(Star), R(0),
45 /* 87 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010046]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +010068 /* 30 E> */ B(StackCheck),
69 /* 42 S> */ B(LdaZero),
70 /* 42 E> */ B(Star), R(0),
71 /* 53 S> */ B(LdaSmi), U8(1),
72 /* 53 E> */ B(Star), R(1),
73 /* 65 S> */ B(Ldar), R(0),
74 B(Star), R(2),
75 B(LdaSmi), U8(10),
76 /* 65 E> */ B(TestLessThan), R(2),
77 B(JumpIfFalse), U8(47),
78 /* 56 E> */ B(StackCheck),
79 /* 75 S> */ B(Ldar), R(1),
80 B(Star), R(2),
81 B(LdaSmi), U8(12),
82 B(Mul), R(2),
83 /* 77 E> */ B(Star), R(1),
84 /* 89 S> */ B(Ldar), R(0),
85 B(Star), R(2),
86 B(LdaSmi), U8(1),
87 B(Add), R(2),
88 /* 91 E> */ B(Star), R(0),
89 /* 102 S> */ B(Star), R(2),
90 B(LdaSmi), U8(3),
91 /* 108 E> */ B(TestEqual), R(2),
92 B(JumpIfFalse), U8(4),
93 /* 114 S> */ B(Jump), U8(14),
94 /* 126 S> */ B(Ldar), R(0),
95 B(Star), R(2),
96 B(LdaSmi), U8(4),
97 /* 132 E> */ B(TestEqual), R(2),
98 B(JumpIfFalse), U8(4),
99 /* 138 S> */ B(Jump), U8(4),
100 B(Jump), U8(-53),
101 /* 147 S> */ B(Ldar), R(1),
102 /* 157 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100103]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100126 /* 30 E> */ B(StackCheck),
127 /* 42 S> */ B(LdaZero),
128 /* 42 E> */ B(Star), R(0),
129 /* 45 E> */ B(StackCheck),
130 /* 62 S> */ B(Ldar), R(0),
131 B(Star), R(1),
132 B(LdaZero),
133 /* 68 E> */ B(TestLessThan), R(1),
134 B(JumpIfFalse), U8(4),
135 /* 73 S> */ B(Jump), U8(60),
136 /* 85 S> */ B(Ldar), R(0),
137 B(Star), R(1),
138 B(LdaSmi), U8(3),
139 /* 91 E> */ B(TestEqual), R(1),
140 B(JumpIfFalse), U8(4),
141 /* 97 S> */ B(Jump), U8(50),
142 /* 106 S> */ B(Ldar), R(0),
143 B(Star), R(1),
144 B(LdaSmi), U8(4),
145 /* 112 E> */ B(TestEqual), R(1),
146 B(JumpIfFalse), U8(4),
147 /* 118 S> */ B(Jump), U8(38),
148 /* 127 S> */ B(Ldar), R(0),
149 B(Star), R(1),
150 B(LdaSmi), U8(10),
151 /* 133 E> */ B(TestEqual), R(1),
152 B(JumpIfFalse), U8(4),
153 /* 140 S> */ B(Jump), U8(24),
154 /* 152 S> */ B(Ldar), R(0),
155 B(Star), R(1),
156 B(LdaSmi), U8(5),
157 /* 158 E> */ B(TestEqual), R(1),
158 B(JumpIfFalse), U8(4),
159 /* 164 S> */ B(Jump), U8(14),
160 /* 173 S> */ B(Ldar), R(0),
161 B(Star), R(1),
162 B(LdaSmi), U8(1),
163 B(Add), R(1),
164 /* 175 E> */ B(Star), R(0),
165 B(Jump), U8(-70),
166 /* 186 S> */ B(Ldar), R(0),
167 /* 196 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100168]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100191 /* 30 E> */ B(StackCheck),
192 /* 42 S> */ B(LdaZero),
193 /* 42 E> */ B(Star), R(0),
194 /* 45 E> */ B(StackCheck),
195 /* 71 S> */ B(Ldar), R(0),
196 B(Star), R(1),
197 B(LdaSmi), U8(3),
198 /* 71 E> */ B(TestLessThan), R(1),
199 B(JumpIfFalse), U8(27),
200 /* 62 E> */ B(StackCheck),
201 /* 82 S> */ B(Ldar), R(0),
202 B(Star), R(1),
203 B(LdaSmi), U8(2),
204 /* 88 E> */ B(TestEqual), R(1),
205 B(JumpIfFalse), U8(4),
206 /* 94 S> */ B(Jump), U8(14),
207 /* 105 S> */ B(Ldar), R(0),
208 B(Star), R(1),
209 B(LdaSmi), U8(1),
210 B(Add), R(1),
211 /* 107 E> */ B(Star), R(0),
212 B(Jump), U8(-33),
213 /* 122 S> */ B(Ldar), R(0),
214 B(Star), R(1),
215 B(LdaSmi), U8(1),
216 B(Add), R(1),
217 /* 124 E> */ B(Star), R(0),
218 /* 135 S> */ B(Jump), U8(4),
219 B(Jump), U8(-48),
220 /* 144 S> */ B(Ldar), R(0),
221 /* 154 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100222]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100242 /* 30 E> */ B(StackCheck),
243 /* 42 S> */ B(LdaSmi), U8(10),
244 /* 42 E> */ B(Star), R(0),
245 /* 54 S> */ B(LdaSmi), U8(1),
246 /* 54 E> */ B(Star), R(1),
247 /* 64 S> */ B(Ldar), R(0),
248 B(JumpIfToBooleanFalse), U8(25),
249 /* 57 E> */ B(StackCheck),
250 /* 71 S> */ B(Ldar), R(1),
251 B(Star), R(2),
252 B(LdaSmi), U8(12),
253 B(Mul), R(2),
254 /* 73 E> */ B(Star), R(1),
255 /* 85 S> */ B(Ldar), R(0),
256 B(Star), R(2),
257 B(LdaSmi), U8(1),
258 B(Sub), R(2),
259 /* 87 E> */ B(Star), R(0),
260 B(Jump), U8(-25),
261 /* 98 S> */ B(Ldar), R(1),
262 /* 108 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100263]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100284 /* 30 E> */ B(StackCheck),
285 /* 42 S> */ B(LdaZero),
286 /* 42 E> */ B(Star), R(0),
287 /* 53 S> */ B(LdaSmi), U8(1),
288 /* 53 E> */ B(Star), R(1),
289 /* 56 E> */ B(StackCheck),
290 /* 63 S> */ B(Ldar), R(1),
291 B(Star), R(2),
292 B(LdaSmi), U8(10),
293 B(Mul), R(2),
294 /* 65 E> */ B(Star), R(1),
295 /* 77 S> */ B(Ldar), R(0),
296 B(Star), R(2),
297 B(LdaSmi), U8(5),
298 /* 83 E> */ B(TestEqual), R(2),
299 B(JumpIfFalse), U8(4),
300 /* 89 S> */ B(Jump), U8(34),
301 /* 98 S> */ B(Ldar), R(0),
302 B(Star), R(2),
303 B(LdaSmi), U8(6),
304 /* 104 E> */ B(TestEqual), R(2),
305 B(JumpIfFalse), U8(4),
306 /* 110 S> */ B(Jump), U8(12),
307 /* 122 S> */ B(Ldar), R(0),
308 B(Star), R(2),
309 B(LdaSmi), U8(1),
310 B(Add), R(2),
311 /* 124 E> */ B(Star), R(0),
312 /* 144 S> */ B(Ldar), R(0),
313 B(Star), R(2),
314 B(LdaSmi), U8(10),
315 /* 144 E> */ B(TestLessThan), R(2),
316 B(JumpIfTrue), U8(-53),
317 /* 151 S> */ B(Ldar), R(1),
318 /* 161 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100319]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100339 /* 30 E> */ B(StackCheck),
340 /* 42 S> */ B(LdaSmi), U8(10),
341 /* 42 E> */ B(Star), R(0),
342 /* 54 S> */ B(LdaSmi), U8(1),
343 /* 54 E> */ B(Star), R(1),
344 /* 57 E> */ B(StackCheck),
345 /* 64 S> */ B(Ldar), R(1),
346 B(Star), R(2),
347 B(LdaSmi), U8(12),
348 B(Mul), R(2),
349 /* 66 E> */ B(Star), R(1),
350 /* 78 S> */ B(Ldar), R(0),
351 B(Star), R(2),
352 B(LdaSmi), U8(1),
353 B(Sub), R(2),
354 /* 80 E> */ B(Star), R(0),
355 /* 98 S> */ B(Ldar), R(0),
356 B(JumpIfToBooleanTrue), U8(-23),
357 /* 102 S> */ B(Ldar), R(1),
358 /* 112 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100359]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100380 /* 30 E> */ B(StackCheck),
381 /* 42 S> */ B(LdaZero),
382 /* 42 E> */ B(Star), R(0),
383 /* 53 S> */ B(LdaSmi), U8(1),
384 /* 53 E> */ B(Star), R(1),
385 /* 56 E> */ B(StackCheck),
386 /* 63 S> */ B(Ldar), R(1),
387 B(Star), R(2),
388 B(LdaSmi), U8(10),
389 B(Mul), R(2),
390 /* 65 E> */ B(Star), R(1),
391 /* 77 S> */ B(Ldar), R(0),
392 B(Star), R(2),
393 B(LdaSmi), U8(5),
394 /* 83 E> */ B(TestEqual), R(2),
395 B(JumpIfFalse), U8(4),
396 /* 89 S> */ B(Jump), U8(22),
397 /* 98 S> */ B(Ldar), R(0),
398 B(Star), R(2),
399 B(LdaSmi), U8(1),
400 B(Add), R(2),
401 /* 100 E> */ B(Star), R(0),
402 /* 111 S> */ B(Star), R(2),
403 B(LdaSmi), U8(6),
404 /* 117 E> */ B(TestEqual), R(2),
405 B(JumpIfFalse), U8(4),
406 /* 123 S> */ B(Jump), U8(2),
407 /* 150 S> */ B(Ldar), R(1),
408 /* 160 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100409]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100430 /* 30 E> */ B(StackCheck),
431 /* 42 S> */ B(LdaZero),
432 /* 42 E> */ B(Star), R(0),
433 /* 53 S> */ B(LdaSmi), U8(1),
434 /* 53 E> */ B(Star), R(1),
435 /* 56 E> */ B(StackCheck),
436 /* 63 S> */ B(Ldar), R(1),
437 B(Star), R(2),
438 B(LdaSmi), U8(10),
439 B(Mul), R(2),
440 /* 65 E> */ B(Star), R(1),
441 /* 77 S> */ B(Ldar), R(0),
442 B(Star), R(2),
443 B(LdaSmi), U8(5),
444 /* 83 E> */ B(TestEqual), R(2),
445 B(JumpIfFalse), U8(4),
446 /* 89 S> */ B(Jump), U8(24),
447 /* 98 S> */ B(Ldar), R(0),
448 B(Star), R(2),
449 B(LdaSmi), U8(1),
450 B(Add), R(2),
451 /* 100 E> */ B(Star), R(0),
452 /* 111 S> */ B(Star), R(2),
453 B(LdaSmi), U8(6),
454 /* 117 E> */ B(TestEqual), R(2),
455 B(JumpIfFalse), U8(4),
456 /* 123 S> */ B(Jump), U8(2),
457 B(Jump), U8(-43),
458 /* 149 S> */ B(Ldar), R(1),
459 /* 159 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100460]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100479 /* 30 E> */ B(StackCheck),
480 /* 42 S> */ B(LdaZero),
481 /* 42 E> */ B(Star), R(0),
482 /* 45 E> */ B(StackCheck),
483 /* 58 S> */ B(Ldar), R(0),
484 B(Star), R(1),
485 B(LdaSmi), U8(1),
486 /* 64 E> */ B(TestEqual), R(1),
487 B(JumpIfFalse), U8(4),
488 /* 70 S> */ B(Jump), U8(26),
489 /* 79 S> */ B(Ldar), R(0),
490 B(Star), R(1),
491 B(LdaSmi), U8(2),
492 /* 85 E> */ B(TestEqual), R(1),
493 B(JumpIfFalse), U8(4),
494 /* 91 S> */ B(Jump), U8(12),
495 /* 103 S> */ B(Ldar), R(0),
496 B(Star), R(1),
497 B(LdaSmi), U8(1),
498 B(Add), R(1),
499 /* 105 E> */ B(Star), R(0),
500 B(Jump), U8(-35),
501 B(LdaUndefined),
502 /* 116 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100503]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100521 /* 30 E> */ B(StackCheck),
522 /* 47 S> */ B(LdaZero),
523 /* 47 E> */ B(Star), R(0),
524 /* 34 E> */ B(StackCheck),
525 /* 56 S> */ B(Ldar), R(0),
526 B(Star), R(1),
527 B(LdaSmi), U8(1),
528 /* 62 E> */ B(TestEqual), R(1),
529 B(JumpIfFalse), U8(4),
530 /* 68 S> */ B(Jump), U8(26),
531 /* 77 S> */ B(Ldar), R(0),
532 B(Star), R(1),
533 B(LdaSmi), U8(2),
534 /* 83 E> */ B(TestEqual), R(1),
535 B(JumpIfFalse), U8(4),
536 /* 89 S> */ B(Jump), U8(12),
537 /* 101 S> */ B(Ldar), R(0),
538 B(Star), R(1),
539 B(LdaSmi), U8(1),
540 B(Add), R(1),
541 /* 103 E> */ B(Star), R(0),
542 B(Jump), U8(-35),
543 B(LdaUndefined),
544 /* 114 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100545]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100563 /* 30 E> */ B(StackCheck),
564 /* 42 S> */ B(LdaZero),
565 /* 42 E> */ B(Star), R(0),
566 /* 45 E> */ B(StackCheck),
567 /* 68 S> */ B(Ldar), R(0),
568 B(Star), R(1),
569 B(LdaSmi), U8(1),
570 /* 74 E> */ B(TestEqual), R(1),
571 B(JumpIfFalse), U8(4),
572 /* 80 S> */ B(Jump), U8(26),
573 /* 89 S> */ B(Ldar), R(0),
574 B(Star), R(1),
575 B(LdaSmi), U8(2),
576 /* 95 E> */ B(TestEqual), R(1),
577 B(JumpIfFalse), U8(4),
578 /* 101 S> */ B(Jump), U8(2),
579 /* 55 S> */ B(Ldar), R(0),
580 B(Star), R(1),
581 B(LdaSmi), U8(1),
582 B(Add), R(1),
583 /* 55 E> */ B(Star), R(0),
584 B(Jump), U8(-35),
585 B(LdaUndefined),
586 /* 113 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100587]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100604 /* 30 E> */ B(StackCheck),
605 /* 47 S> */ B(LdaZero),
606 /* 47 E> */ B(Star), R(0),
607 /* 34 E> */ B(StackCheck),
608 /* 66 S> */ B(Ldar), R(0),
609 B(Star), R(1),
610 B(LdaSmi), U8(1),
611 /* 72 E> */ B(TestEqual), R(1),
612 B(JumpIfFalse), U8(4),
613 /* 78 S> */ B(Jump), U8(26),
614 /* 87 S> */ B(Ldar), R(0),
615 B(Star), R(1),
616 B(LdaSmi), U8(2),
617 /* 93 E> */ B(TestEqual), R(1),
618 B(JumpIfFalse), U8(4),
619 /* 99 S> */ B(Jump), U8(2),
620 /* 53 S> */ B(Ldar), R(0),
621 B(Star), R(1),
622 B(LdaSmi), U8(1),
623 B(Add), R(1),
624 /* 53 E> */ B(Star), R(0),
625 B(Jump), U8(-35),
626 B(LdaUndefined),
627 /* 111 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100628]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +0100646 /* 30 E> */ B(StackCheck),
647 /* 42 S> */ B(LdaZero),
648 /* 42 E> */ B(Star), R(0),
649 /* 58 S> */ B(LdaZero),
650 /* 58 E> */ B(Star), R(1),
651 /* 63 S> */ B(Ldar), R(1),
652 B(Star), R(2),
653 B(LdaSmi), U8(100),
654 /* 63 E> */ B(TestLessThan), R(2),
655 B(JumpIfFalse), U8(27),
656 /* 45 E> */ B(StackCheck),
657 /* 85 S> */ B(Ldar), R(0),
658 B(Star), R(2),
659 B(LdaSmi), U8(1),
660 B(Add), R(2),
661 /* 87 E> */ B(Star), R(0),
662 /* 98 S> */ B(Jump), U8(2),
663 /* 72 S> */ B(Ldar), R(1),
664 B(Star), R(2),
665 B(LdaSmi), U8(1),
666 B(Add), R(2),
667 /* 72 E> */ B(Star), R(1),
668 B(Jump), U8(-33),
669 B(LdaUndefined),
670 /* 110 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100671]
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
Ben Murdochc5610432016-08-08 18:44:38 +0100687bytecode array length: 34
Ben Murdochda12d292016-06-02 14:46:10 +0100688bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100689 /* 30 E> */ B(StackCheck),
690 /* 42 S> */ B(LdaSmi), U8(1),
691 /* 42 E> */ B(Star), R(0),
692 /* 58 S> */ B(LdaSmi), U8(10),
693 /* 58 E> */ B(Star), R(1),
694 /* 62 S> */ B(Ldar), R(1),
695 B(JumpIfToBooleanFalse), U8(20),
696 /* 45 E> */ B(StackCheck),
697 /* 74 S> */ B(Ldar), R(0),
698 B(Star), R(2),
699 B(LdaSmi), U8(12),
700 B(Mul), R(2),
701 /* 76 E> */ B(Star), R(0),
702 /* 67 S> */ B(Ldar), R(1),
703 B(Dec),
704 /* 67 E> */ B(Star), R(1),
705 B(Jump), U8(-20),
706 /* 88 S> */ B(Ldar), R(0),
707 /* 98 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100708]
709constant pool: [
710]
711handlers: [
712]
713
714---
715snippet: "
716 var x = 0;
717 for (var i = 0; false; i++) {
718 x = x + 1;
719 };
720 return x;
721"
722frame size: 2
723parameter count: 1
724bytecode array length: 10
725bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100726 /* 30 E> */ B(StackCheck),
727 /* 42 S> */ B(LdaZero),
728 /* 42 E> */ B(Star), R(0),
729 /* 58 S> */ B(LdaZero),
730 /* 58 E> */ B(Star), R(1),
731 /* 91 S> */ B(Ldar), R(0),
732 /* 101 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100733]
734constant pool: [
735]
736handlers: [
737]
738
739---
740snippet: "
741 var x = 0;
742 for (var i = 0; true; ++i) {
743 x = x + 1;
744 if (x == 20) break;
745 };
746 return x;
747"
748frame size: 3
749parameter count: 1
Ben Murdochc5610432016-08-08 18:44:38 +0100750bytecode array length: 38
Ben Murdochda12d292016-06-02 14:46:10 +0100751bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100752 /* 30 E> */ B(StackCheck),
753 /* 42 S> */ B(LdaZero),
754 /* 42 E> */ B(Star), R(0),
755 /* 58 S> */ B(LdaZero),
756 /* 58 E> */ B(Star), R(1),
757 /* 45 E> */ B(StackCheck),
758 /* 76 S> */ B(Ldar), R(0),
759 B(Star), R(2),
760 B(LdaSmi), U8(1),
761 B(Add), R(2),
762 /* 78 E> */ B(Star), R(0),
763 /* 89 S> */ B(Star), R(2),
764 B(LdaSmi), U8(20),
765 /* 95 E> */ B(TestEqual), R(2),
766 B(JumpIfFalse), U8(4),
767 /* 102 S> */ B(Jump), U8(9),
768 /* 69 S> */ B(Ldar), R(1),
769 B(Inc),
770 /* 69 E> */ B(Star), R(1),
771 B(Jump), U8(-26),
772 /* 112 S> */ B(Ldar), R(0),
773 /* 122 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100774]
775constant pool: [
776]
777handlers: [
778]
779
780---
781snippet: "
782 var a = 0;
783 while (a) {
784 {
785 let z = 1;
786 function f() { z = 2; }
787 if (z) continue;
788 z++;
789 }
790 }
791"
792frame size: 7
793parameter count: 1
794bytecode array length: 120
795bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100796 /* 30 E> */ B(StackCheck),
797 /* 42 S> */ B(LdaZero),
798 /* 42 E> */ B(Star), R(1),
799 /* 52 S> */ B(Ldar), R(1),
800 B(JumpIfToBooleanFalse), U8(112),
801 /* 45 E> */ B(StackCheck),
802 B(LdaConstant), U8(0),
803 B(Star), R(4),
804 B(Ldar), R(closure),
805 B(Star), R(5),
806 B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
807 B(PushContext), R(3),
808 B(LdaTheHole),
809 B(StaContextSlot), R(context), U8(4),
810 B(CreateClosure), U8(1), U8(0),
811 B(Star), R(0),
812 /* 73 S> */ B(LdaSmi), U8(1),
813 /* 73 E> */ B(StaContextSlot), R(context), U8(4),
814 B(Ldar), R(0),
815 B(JumpIfNotHole), U8(11),
816 B(LdaConstant), U8(2),
817 B(Star), R(4),
818 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
819 B(Star), R(2),
820 /* 106 S> */ B(LdaContextSlot), R(context), U8(4),
821 B(JumpIfNotHole), U8(11),
822 B(LdaConstant), U8(3),
823 B(Star), R(4),
824 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
825 B(JumpIfToBooleanFalse), U8(8),
826 /* 113 S> */ B(PopContext), R(3),
827 B(PopContext), R(3),
828 B(Jump), U8(43),
829 /* 126 S> */ B(LdaContextSlot), R(context), U8(4),
830 B(JumpIfNotHole), U8(11),
831 B(LdaConstant), U8(3),
832 B(Star), R(4),
833 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
834 B(ToNumber),
835 B(Star), R(4),
836 B(Inc),
837 /* 127 E> */ B(Star), R(5),
838 B(LdaContextSlot), R(context), U8(4),
839 B(JumpIfNotHole), U8(11),
840 B(LdaConstant), U8(3),
841 B(Star), R(6),
842 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
843 B(Ldar), R(5),
844 B(StaContextSlot), R(context), U8(4),
845 B(PopContext), R(3),
846 B(Jump), U8(-112),
847 B(LdaUndefined),
848 /* 137 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100849]
850constant pool: [
851 InstanceType::FIXED_ARRAY_TYPE,
852 InstanceType::SHARED_FUNCTION_INFO_TYPE,
853 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
854 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
855]
856handlers: [
857]
858