blob: 8be4e9d698f7c7355e1143802f5617c05d5acee6 [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
Ben Murdoch61f157c2016-09-16 13:49:30 +010018bytecode array length: 6
Ben Murdochda12d292016-06-02 14:46:10 +010019bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010020 /* 30 E> */ B(StackCheck),
21 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +010022 B(Star), R(0),
23 /* 88 S> */ B(Nop),
Ben Murdochc5610432016-08-08 18:44:38 +010024 /* 98 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010025]
26constant pool: [
27]
28handlers: [
29]
30
31---
32snippet: "
33 var x = 0;
34 while (false) {
35 x = x + 1;
36 };
37 return x;
38"
39frame size: 1
40parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +010041bytecode array length: 6
Ben Murdochda12d292016-06-02 14:46:10 +010042bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010043 /* 30 E> */ B(StackCheck),
44 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +010045 B(Star), R(0),
46 /* 77 S> */ B(Nop),
Ben Murdochc5610432016-08-08 18:44:38 +010047 /* 87 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010048]
49constant pool: [
50]
51handlers: [
52]
53
54---
55snippet: "
56 var x = 0;
57 var y = 1;
58 while (x < 10) {
59 y = y * 12;
60 x = x + 1;
61 if (x == 3) continue;
62 if (x == 4) break;
63 }
64 return y;
65"
Ben Murdoch61f157c2016-09-16 13:49:30 +010066frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +010067parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +010068bytecode array length: 48
Ben Murdochda12d292016-06-02 14:46:10 +010069bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010070 /* 30 E> */ B(StackCheck),
71 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +010072 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010073 /* 53 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +010074 B(Star), R(1),
75 /* 65 S> */ B(LdaSmi), U8(10),
76 /* 65 E> */ B(TestLessThan), R(0),
77 B(JumpIfFalse), U8(33),
Ben Murdochc5610432016-08-08 18:44:38 +010078 /* 56 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +010079 /* 75 S> */ B(LdaSmi), U8(12),
80 B(Mul), R(1),
81 B(Star), R(1),
82 /* 89 S> */ B(LdaSmi), U8(1),
83 B(Add), R(0),
84 B(Star), R(0),
85 /* 102 S> */ B(LdaSmi), U8(3),
86 /* 108 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010087 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +010088 /* 114 S> */ B(Jump), U8(10),
89 /* 126 S> */ B(LdaSmi), U8(4),
90 /* 132 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010091 B(JumpIfFalse), U8(4),
92 /* 138 S> */ B(Jump), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +010093 B(Jump), U8(-35),
Ben Murdochc5610432016-08-08 18:44:38 +010094 /* 147 S> */ B(Ldar), R(1),
95 /* 157 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010096]
97constant pool: [
98]
99handlers: [
100]
101
102---
103snippet: "
104 var i = 0;
105 while (true) {
106 if (i < 0) continue;
107 if (i == 3) break;
108 if (i == 4) break;
109 if (i == 10) continue;
110 if (i == 5) break;
111 i = i + 1;
112 }
113 return i;
114"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100115frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100116parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100117bytecode array length: 55
Ben Murdochda12d292016-06-02 14:46:10 +0100118bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100119 /* 30 E> */ B(StackCheck),
120 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100121 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100122 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100123 /* 62 S> */ B(LdaZero),
124 /* 68 E> */ B(TestLessThan), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100125 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100126 /* 73 S> */ B(Jump), U8(40),
127 /* 85 S> */ B(LdaSmi), U8(3),
128 /* 91 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100129 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100130 /* 97 S> */ B(Jump), U8(34),
131 /* 106 S> */ B(LdaSmi), U8(4),
132 /* 112 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100133 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100134 /* 118 S> */ B(Jump), U8(26),
135 /* 127 S> */ B(LdaSmi), U8(10),
136 /* 133 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100137 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100138 /* 140 S> */ B(Jump), U8(16),
139 /* 152 S> */ B(LdaSmi), U8(5),
140 /* 158 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100141 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100142 /* 164 S> */ B(Jump), U8(10),
143 /* 173 S> */ B(LdaSmi), U8(1),
144 B(Add), R(0),
145 B(Star), R(0),
146 B(Jump), U8(-46),
Ben Murdochc5610432016-08-08 18:44:38 +0100147 /* 186 S> */ B(Ldar), R(0),
148 /* 196 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100149]
150constant pool: [
151]
152handlers: [
153]
154
155---
156snippet: "
157 var i = 0;
158 while (true) {
159 while (i < 3) {
160 if (i == 2) break;
161 i = i + 1;
162 }
163 i = i + 1;
164 break;
165 }
166 return i;
167"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100168frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100169parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100170bytecode array length: 41
Ben Murdochda12d292016-06-02 14:46:10 +0100171bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100172 /* 30 E> */ B(StackCheck),
173 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100174 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100175 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100176 /* 71 S> */ B(LdaSmi), U8(3),
177 /* 71 E> */ B(TestLessThan), R(0),
178 B(JumpIfFalse), U8(19),
Ben Murdochc5610432016-08-08 18:44:38 +0100179 /* 62 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100180 /* 82 S> */ B(LdaSmi), U8(2),
181 /* 88 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100182 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100183 /* 94 S> */ B(Jump), U8(10),
184 /* 105 S> */ B(LdaSmi), U8(1),
185 B(Add), R(0),
186 B(Star), R(0),
187 B(Jump), U8(-21),
188 /* 122 S> */ B(LdaSmi), U8(1),
189 B(Add), R(0),
190 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100191 /* 135 S> */ B(Jump), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100192 B(Jump), U8(-32),
Ben Murdochc5610432016-08-08 18:44:38 +0100193 /* 144 S> */ B(Ldar), R(0),
194 /* 154 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100195]
196constant pool: [
197]
198handlers: [
199]
200
201---
202snippet: "
203 var x = 10;
204 var y = 1;
205 while (x) {
206 y = y * 12;
207 x = x - 1;
208 }
209 return y;
210"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100211frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100212parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100213bytecode array length: 31
Ben Murdochda12d292016-06-02 14:46:10 +0100214bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100215 /* 30 E> */ B(StackCheck),
216 /* 42 S> */ B(LdaSmi), U8(10),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100217 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100218 /* 54 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100219 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100220 /* 64 S> */ B(Ldar), R(0),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100221 B(JumpIfToBooleanFalse), U8(17),
Ben Murdochc5610432016-08-08 18:44:38 +0100222 /* 57 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100223 /* 71 S> */ B(LdaSmi), U8(12),
224 B(Mul), R(1),
225 B(Star), R(1),
226 /* 85 S> */ B(LdaSmi), U8(1),
227 B(Sub), R(0),
228 B(Star), R(0),
229 B(Jump), U8(-17),
Ben Murdochc5610432016-08-08 18:44:38 +0100230 /* 98 S> */ B(Ldar), R(1),
231 /* 108 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100232]
233constant pool: [
234]
235handlers: [
236]
237
238---
239snippet: "
240 var x = 0; var y = 1;
241 do {
242 y = y * 10;
243 if (x == 5) break;
244 if (x == 6) continue;
245 x = x + 1;
246 } while (x < 10);
247 return y;
248"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100249frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100250parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100251bytecode array length: 46
Ben Murdochda12d292016-06-02 14:46:10 +0100252bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100253 /* 30 E> */ B(StackCheck),
254 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100255 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100256 /* 53 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100257 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100258 /* 56 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100259 /* 63 S> */ B(LdaSmi), U8(10),
260 B(Mul), R(1),
261 B(Star), R(1),
262 /* 77 S> */ B(LdaSmi), U8(5),
263 /* 83 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100264 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100265 /* 89 S> */ B(Jump), U8(22),
266 /* 98 S> */ B(LdaSmi), U8(6),
267 /* 104 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100268 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100269 /* 110 S> */ B(Jump), U8(8),
270 /* 122 S> */ B(LdaSmi), U8(1),
271 B(Add), R(0),
272 B(Star), R(0),
273 /* 144 S> */ B(LdaSmi), U8(10),
274 /* 144 E> */ B(TestLessThan), R(0),
275 B(JumpIfTrue), U8(-33),
Ben Murdochc5610432016-08-08 18:44:38 +0100276 /* 151 S> */ B(Ldar), R(1),
277 /* 161 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100278]
279constant pool: [
280]
281handlers: [
282]
283
284---
285snippet: "
286 var x = 10;
287 var y = 1;
288 do {
289 y = y * 12;
290 x = x - 1;
291 } while (x);
292 return y;
293"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100294frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100295parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100296bytecode array length: 29
Ben Murdochda12d292016-06-02 14:46:10 +0100297bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100298 /* 30 E> */ B(StackCheck),
299 /* 42 S> */ B(LdaSmi), U8(10),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100300 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100301 /* 54 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100302 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100303 /* 57 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100304 /* 64 S> */ B(LdaSmi), U8(12),
305 B(Mul), R(1),
306 B(Star), R(1),
307 /* 78 S> */ B(LdaSmi), U8(1),
308 B(Sub), R(0),
309 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100310 /* 98 S> */ B(Ldar), R(0),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100311 B(JumpIfToBooleanTrue), U8(-15),
Ben Murdochc5610432016-08-08 18:44:38 +0100312 /* 102 S> */ B(Ldar), R(1),
313 /* 112 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100314]
315constant pool: [
316]
317handlers: [
318]
319
320---
321snippet: "
322 var x = 0; var y = 1;
323 do {
324 y = y * 10;
325 if (x == 5) break;
326 x = x + 1;
327 if (x == 6) continue;
328 } while (false);
329 return y;
330"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100331frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100332parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100333bytecode array length: 40
Ben Murdochda12d292016-06-02 14:46:10 +0100334bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100335 /* 30 E> */ B(StackCheck),
336 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100337 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100338 /* 53 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100339 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100340 /* 56 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100341 /* 63 S> */ B(LdaSmi), U8(10),
342 B(Mul), R(1),
343 B(Star), R(1),
344 /* 77 S> */ B(LdaSmi), U8(5),
345 /* 83 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100346 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100347 /* 89 S> */ B(Jump), U8(16),
348 /* 98 S> */ B(LdaSmi), U8(1),
349 B(Add), R(0),
350 B(Star), R(0),
351 /* 111 S> */ B(LdaSmi), U8(6),
352 /* 117 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100353 B(JumpIfFalse), U8(4),
354 /* 123 S> */ B(Jump), U8(2),
355 /* 150 S> */ B(Ldar), R(1),
356 /* 160 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100357]
358constant pool: [
359]
360handlers: [
361]
362
363---
364snippet: "
365 var x = 0; var y = 1;
366 do {
367 y = y * 10;
368 if (x == 5) break;
369 x = x + 1;
370 if (x == 6) continue;
371 } while (true);
372 return y;
373"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100374frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100375parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100376bytecode array length: 42
Ben Murdochda12d292016-06-02 14:46:10 +0100377bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100378 /* 30 E> */ B(StackCheck),
379 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100380 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100381 /* 53 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100382 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100383 /* 56 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100384 /* 63 S> */ B(LdaSmi), U8(10),
385 B(Mul), R(1),
386 B(Star), R(1),
387 /* 77 S> */ B(LdaSmi), U8(5),
388 /* 83 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100389 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100390 /* 89 S> */ B(Jump), U8(18),
391 /* 98 S> */ B(LdaSmi), U8(1),
392 B(Add), R(0),
393 B(Star), R(0),
394 /* 111 S> */ B(LdaSmi), U8(6),
395 /* 117 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100396 B(JumpIfFalse), U8(4),
397 /* 123 S> */ B(Jump), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100398 B(Jump), U8(-29),
Ben Murdochc5610432016-08-08 18:44:38 +0100399 /* 149 S> */ B(Ldar), R(1),
400 /* 159 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100401]
402constant pool: [
403]
404handlers: [
405]
406
407---
408snippet: "
409 var x = 0;
410 for (;;) {
411 if (x == 1) break;
412 if (x == 2) continue;
413 x = x + 1;
414 }
415"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100416frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100417parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100418bytecode array length: 31
Ben Murdochda12d292016-06-02 14:46:10 +0100419bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100420 /* 30 E> */ B(StackCheck),
421 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100422 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100423 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100424 /* 58 S> */ B(LdaSmi), U8(1),
425 /* 64 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100426 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100427 /* 70 S> */ B(Jump), U8(18),
428 /* 79 S> */ B(LdaSmi), U8(2),
429 /* 85 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100430 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100431 /* 91 S> */ B(Jump), U8(8),
432 /* 103 S> */ B(LdaSmi), U8(1),
433 B(Add), R(0),
434 B(Star), R(0),
435 B(Jump), U8(-23),
Ben Murdochc5610432016-08-08 18:44:38 +0100436 B(LdaUndefined),
437 /* 116 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100438]
439constant pool: [
440]
441handlers: [
442]
443
444---
445snippet: "
446 for (var x = 0;;) {
447 if (x == 1) break;
448 if (x == 2) continue;
449 x = x + 1;
450 }
451"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100452frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100453parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100454bytecode array length: 31
Ben Murdochda12d292016-06-02 14:46:10 +0100455bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100456 /* 30 E> */ B(StackCheck),
457 /* 47 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100458 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100459 /* 34 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100460 /* 56 S> */ B(LdaSmi), U8(1),
461 /* 62 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100462 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100463 /* 68 S> */ B(Jump), U8(18),
464 /* 77 S> */ B(LdaSmi), U8(2),
465 /* 83 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100466 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100467 /* 89 S> */ B(Jump), U8(8),
468 /* 101 S> */ B(LdaSmi), U8(1),
469 B(Add), R(0),
470 B(Star), R(0),
471 B(Jump), U8(-23),
Ben Murdochc5610432016-08-08 18:44:38 +0100472 B(LdaUndefined),
473 /* 114 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100474]
475constant pool: [
476]
477handlers: [
478]
479
480---
481snippet: "
482 var x = 0;
483 for (;; x = x + 1) {
484 if (x == 1) break;
485 if (x == 2) continue;
486 }
487"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100488frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100489parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100490bytecode array length: 31
Ben Murdochda12d292016-06-02 14:46:10 +0100491bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100492 /* 30 E> */ B(StackCheck),
493 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100494 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100495 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100496 /* 68 S> */ B(LdaSmi), U8(1),
497 /* 74 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100498 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100499 /* 80 S> */ B(Jump), U8(18),
500 /* 89 S> */ B(LdaSmi), U8(2),
501 /* 95 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100502 B(JumpIfFalse), U8(4),
503 /* 101 S> */ B(Jump), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100504 /* 55 S> */ B(LdaSmi), U8(1),
505 B(Add), R(0),
506 B(Star), R(0),
507 B(Jump), U8(-23),
Ben Murdochc5610432016-08-08 18:44:38 +0100508 B(LdaUndefined),
509 /* 113 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100510]
511constant pool: [
512]
513handlers: [
514]
515
516---
517snippet: "
518 for (var x = 0;; x = x + 1) {
519 if (x == 1) break;
520 if (x == 2) continue;
521 }
522"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100523frame size: 1
Ben Murdochda12d292016-06-02 14:46:10 +0100524parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100525bytecode array length: 31
Ben Murdochda12d292016-06-02 14:46:10 +0100526bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100527 /* 30 E> */ B(StackCheck),
528 /* 47 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100529 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100530 /* 34 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100531 /* 66 S> */ B(LdaSmi), U8(1),
532 /* 72 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100533 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100534 /* 78 S> */ B(Jump), U8(18),
535 /* 87 S> */ B(LdaSmi), U8(2),
536 /* 93 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100537 B(JumpIfFalse), U8(4),
538 /* 99 S> */ B(Jump), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100539 /* 53 S> */ B(LdaSmi), U8(1),
540 B(Add), R(0),
541 B(Star), R(0),
542 B(Jump), U8(-23),
Ben Murdochc5610432016-08-08 18:44:38 +0100543 B(LdaUndefined),
544 /* 111 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100545]
546constant pool: [
547]
548handlers: [
549]
550
551---
552snippet: "
553 var u = 0;
554 for (var i = 0; i < 100; i = i + 1) {
555 u = u + 1;
556 continue;
557 }
558"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100559frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100560parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100561bytecode array length: 32
Ben Murdochda12d292016-06-02 14:46:10 +0100562bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100563 /* 30 E> */ B(StackCheck),
564 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100565 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100566 /* 58 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100567 B(Star), R(1),
568 /* 63 S> */ B(LdaSmi), U8(100),
569 /* 63 E> */ B(TestLessThan), R(1),
570 B(JumpIfFalse), U8(19),
Ben Murdochc5610432016-08-08 18:44:38 +0100571 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100572 /* 85 S> */ B(LdaSmi), U8(1),
573 B(Add), R(0),
574 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100575 /* 98 S> */ B(Jump), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100576 /* 72 S> */ B(LdaSmi), U8(1),
577 B(Add), R(1),
578 B(Star), R(1),
579 B(Jump), U8(-21),
Ben Murdochc5610432016-08-08 18:44:38 +0100580 B(LdaUndefined),
581 /* 110 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100582]
583constant pool: [
584]
585handlers: [
586]
587
588---
589snippet: "
590 var y = 1;
591 for (var x = 10; x; --x) {
592 y = y * 12;
593 }
594 return y;
595"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100596frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100597parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100598bytecode array length: 30
Ben Murdochda12d292016-06-02 14:46:10 +0100599bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100600 /* 30 E> */ B(StackCheck),
601 /* 42 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100602 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100603 /* 58 S> */ B(LdaSmi), U8(10),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100604 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100605 /* 62 S> */ B(Ldar), R(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100606 B(JumpIfToBooleanFalse), U8(16),
Ben Murdochc5610432016-08-08 18:44:38 +0100607 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100608 /* 74 S> */ B(LdaSmi), U8(12),
609 B(Mul), R(0),
610 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100611 /* 67 S> */ B(Ldar), R(1),
612 B(Dec),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100613 B(Star), R(1),
614 B(Jump), U8(-16),
Ben Murdochc5610432016-08-08 18:44:38 +0100615 /* 88 S> */ B(Ldar), R(0),
616 /* 98 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100617]
618constant pool: [
619]
620handlers: [
621]
622
623---
624snippet: "
625 var x = 0;
626 for (var i = 0; false; i++) {
627 x = x + 1;
628 };
629 return x;
630"
631frame size: 2
632parameter count: 1
633bytecode array length: 10
634bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100635 /* 30 E> */ B(StackCheck),
636 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100637 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100638 /* 58 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100639 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100640 /* 91 S> */ B(Ldar), R(0),
641 /* 101 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100642]
643constant pool: [
644]
645handlers: [
646]
647
648---
649snippet: "
650 var x = 0;
651 for (var i = 0; true; ++i) {
652 x = x + 1;
653 if (x == 20) break;
654 };
655 return x;
656"
Ben Murdoch61f157c2016-09-16 13:49:30 +0100657frame size: 2
Ben Murdochda12d292016-06-02 14:46:10 +0100658parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100659bytecode array length: 32
Ben Murdochda12d292016-06-02 14:46:10 +0100660bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100661 /* 30 E> */ B(StackCheck),
662 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100663 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100664 /* 58 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100665 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100666 /* 45 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100667 /* 76 S> */ B(LdaSmi), U8(1),
668 B(Add), R(0),
669 B(Star), R(0),
670 /* 89 S> */ B(LdaSmi), U8(20),
671 /* 95 E> */ B(TestEqual), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100672 B(JumpIfFalse), U8(4),
673 /* 102 S> */ B(Jump), U8(9),
674 /* 69 S> */ B(Ldar), R(1),
675 B(Inc),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100676 B(Star), R(1),
677 B(Jump), U8(-20),
Ben Murdochc5610432016-08-08 18:44:38 +0100678 /* 112 S> */ B(Ldar), R(0),
679 /* 122 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100680]
681constant pool: [
682]
683handlers: [
684]
685
686---
687snippet: "
688 var a = 0;
689 while (a) {
690 {
691 let z = 1;
692 function f() { z = 2; }
693 if (z) continue;
694 z++;
695 }
696 }
697"
698frame size: 7
699parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100700bytecode array length: 119
Ben Murdochda12d292016-06-02 14:46:10 +0100701bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100702 /* 30 E> */ B(StackCheck),
703 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100704 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100705 /* 52 S> */ B(Ldar), R(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100706 B(JumpIfToBooleanFalse), U8(111),
Ben Murdochc5610432016-08-08 18:44:38 +0100707 /* 45 E> */ B(StackCheck),
708 B(LdaConstant), U8(0),
709 B(Star), R(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100710 B(Mov), R(closure), R(5),
Ben Murdochc5610432016-08-08 18:44:38 +0100711 B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
712 B(PushContext), R(3),
713 B(LdaTheHole),
714 B(StaContextSlot), R(context), U8(4),
715 B(CreateClosure), U8(1), U8(0),
716 B(Star), R(0),
717 /* 73 S> */ B(LdaSmi), U8(1),
718 /* 73 E> */ B(StaContextSlot), R(context), U8(4),
719 B(Ldar), R(0),
720 B(JumpIfNotHole), U8(11),
721 B(LdaConstant), U8(2),
722 B(Star), R(4),
723 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
724 B(Star), R(2),
725 /* 106 S> */ B(LdaContextSlot), R(context), U8(4),
726 B(JumpIfNotHole), U8(11),
727 B(LdaConstant), U8(3),
728 B(Star), R(4),
729 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
730 B(JumpIfToBooleanFalse), U8(8),
731 /* 113 S> */ B(PopContext), R(3),
732 B(PopContext), R(3),
733 B(Jump), U8(43),
734 /* 126 S> */ B(LdaContextSlot), R(context), U8(4),
735 B(JumpIfNotHole), U8(11),
736 B(LdaConstant), U8(3),
737 B(Star), R(4),
738 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
739 B(ToNumber),
740 B(Star), R(4),
741 B(Inc),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100742 B(Star), R(5),
743 /* 127 E> */ B(LdaContextSlot), R(context), U8(4),
Ben Murdochc5610432016-08-08 18:44:38 +0100744 B(JumpIfNotHole), U8(11),
745 B(LdaConstant), U8(3),
746 B(Star), R(6),
747 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
748 B(Ldar), R(5),
749 B(StaContextSlot), R(context), U8(4),
750 B(PopContext), R(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100751 B(Jump), U8(-111),
Ben Murdochc5610432016-08-08 18:44:38 +0100752 B(LdaUndefined),
753 /* 137 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100754]
755constant pool: [
756 InstanceType::FIXED_ARRAY_TYPE,
757 InstanceType::SHARED_FUNCTION_INFO_TYPE,
758 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
759 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
760]
761handlers: [
762]
763