js/src/jit-test/tests/ion/bug939868-2.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:a1edd457f137
1 function f(x,y,z) {
2 var z;
3 if (x) {
4 if (y) {
5 z = 0xfffffff;
6 } else {
7 z = 0xfffffff;
8 }
9 assertFloat32(z, false);
10 } else {
11 z = Math.fround(z);
12 assertFloat32(z, true);
13 }
14 assertFloat32(z, false);
15 return z;
16 }
17
18 function g(x,y,z) {
19 var z;
20 if (x) {
21 if (y) {
22 z = 3;
23 } else {
24 z = 6;
25 }
26 assertFloat32(z, false);
27 } else {
28 z = Math.fround(z);
29 assertFloat32(z, true);
30 }
31 assertFloat32(z, true);
32 return z;
33 }
34
35 setJitCompilerOption("ion.usecount.trigger", 50);
36
37 for (var n = 100; n--; ) {
38 assertEq(f(0,1,2), 2);
39 assertEq(f(0,0,2), 2);
40 assertEq(f(1,0,2), 0xfffffff);
41 assertEq(f(1,1,2), 0xfffffff);
42
43 assertEq(g(0,1,2), 2);
44 assertEq(g(0,0,2), 2);
45 assertEq(g(1,0,2), 6);
46 assertEq(g(1,1,2), 3);
47 }

mercurial