js/src/jit-test/tests/ion/bug824863.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:546b89170947
1 Module = {};
2 var Runtime = {
3 alignMemory: function alignMemory(size, quantum) {
4 return Math.ceil((size) / (quantum ? quantum : 4)) * (quantum ? quantum : 4);
5 },
6 }
7 function assert(condition, text) {
8 throw text;
9 }
10 STACK_ROOT = STACKTOP = Runtime.alignMemory(1);
11 function _main() {
12 var __stackBase__ = STACKTOP;
13 var label;
14 label = 2;
15 while (1) {
16 switch (label) {
17 case 2:
18 var $f = __stackBase__;
19 var $1 = __stackBase__ + 12;
20 var $2 = __stackBase__ + 24;
21 var $3 = $f | 0;
22 var $4 = $f + 4 | 0;
23 var $5 = $f + 8 | 0;
24 var $_0 = $1 | 0;
25 var $_1 = $1 + 4 | 0;
26 var $_2 = $1 + 8 | 0;
27 var $j_012 = 0;
28 label = 4;
29 break;
30 case 4:
31 assertEq($_2, 24);
32 if (($j_012 | 0) != 110) {
33 var $j_012 = $j_012 + 1;
34 break;
35 }
36 var $23 = $i_014 + 1 | 0;
37 if (($23 | 0) != 110) {
38 var $i_014 = $23;
39 var $j_012 = 0;
40 label = 4;
41 break;
42 }
43 default:
44 assert(0, "bad label: " + label);
45 }
46 }
47 }
48 try {
49 _main(0, [], 0);
50 assertEq(0, 1);
51 } catch(e) {
52 assertEq(e, "bad label: 4");
53 }

mercurial