summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/warp/fun-call-not-inlined.js
blob: 3428167de5fb298988fb4d233cd7a9104734e09c (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
// |jit-test| --fast-warmup

// Call a scripted function instead of Function.prototype.call.
function testScriptedAtFunCallOp() {
    var f = function(x) {
        if (x === 130) bailout();
        return x;
    };
    f.call = f;

    for (var i = 0; i < 150; i++) {
        assertEq(f.call(i), i);
    }
}
testScriptedAtFunCallOp();

// Call Function.prototype.call instead of a "normal" function.
function testFunCallAtNormalCallOp() {
    var f = function(x) {
        if (x === 130) bailout();
        return x;
    };
    f.myCall = Function.prototype.call;

    for (var i = 0; i < 150; i++) {
        assertEq(f.myCall(null, i), i);
    }
}
testFunCallAtNormalCallOp();