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

Side by Side Diff: test/cctest/interpreter/BasicLoops.golden

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

Powered by Google App Engine
This is Rietveld 408576698