summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/inlining/array-push.js
blob: 3e7ac159e3fa75408340b811a841ef5db4dbe8b5 (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
30
31
32
33
34
35
36
37
function test1() {
    function push(arr, x) {
        return arr.push(x);
    }
    var arr = [];
    for (var i=0; i<100; i++) {
        assertEq(push(arr, i), i + 1);
    }
}
test1();

function test2() {
    var arr;
    for (var i=0; i<60; i++) {
        arr = [];
        assertEq(arr.push(3.3), 1);
        assertEq(arr.push(undefined), 2);
        assertEq(arr.push(true), 3);
        assertEq(arr.push(Math), 4);
        assertEq(arr.toString(), "3.3,,true,[object Math]");
    }
}
test2();

function test3() {
    function push(arr, v) {
        arr.push(v);
    }
    for (var i=0; i<60; i++) {
        var arr = [];
        push(arr, null);
        push(arr, 3.14);
        push(arr, {});
        assertEq(arr.toString(), ",3.14,[object Object]");
    }
}
test3();