bug939868-2.js (894B)
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.warmup.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 }