summaryrefslogtreecommitdiff
path: root/js/src/jit-test/tests/ion/bug1239075.js
blob: d8e3a8868e0dab20c02771832fdae37da929815d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

function g0() { with({}){}; }
function f0(y, x) {
    var a = y >>> 0;
    a = a - 1 + 1;
    g0(); // Capture the truncate result after the call.
    var b = x / 2; // bailout.
    return ~(a + b);
}
assertEq(f0(-1, 0), 0);
assertEq(f0(-1, 1), 0);


function g1() { with({}){}; }
function f1(y, x) {
    var a = y >>> 0;
    a = a - 1 + 1;
    g1(); // Capture the truncate result after the call.
    var b = Math.pow(x / 2, x); // bailout.
    return ~(a + b);
}
assertEq(f1(-1, 0), -1);
assertEq(f1(-1, 1), 0);

function f2(x) {
    return ~(((~0 | 0) >>> 0 || 0) + Math.pow(Math.cos(x >>> 0), Math.atan2(0, x)))
}
assertEq(f2(0), -1);
assertEq(f2(-9999), 0);