summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/cacheir/bug1488786.js
blob: 656f1f0d2e94addc97a0dadd5d942043db3fb1dc (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
38
setJitCompilerOption('ion.forceinlineCaches', 1);

var A = Array(2**18);
A[0] = "A";
A[1] = "B";
A[2**14] = "C";
A[2**31-1] = "D";
A[-1] = "E";

function get_thee(a,x) {
    return a[x];
}

// Warmup IC
for (var i = 0; i < 30; i++) {
    get_thee(A, i % A.length);
}

// numberToDouble always returns a double-typed Number, so helps
// us ensure we're accessing the array with a double-typed Number index.
var y = numberToDouble(1);
var z = 2**31-1;
// Ensure we handle negative indices.
var a = -1;

function test() {
    for (var i = 0; i < 30; i++) {
        assertEq(get_thee(A,y), "B");
        assertEq(get_thee(A,z), "D");
        assertEq(get_thee(A,a), "E");
    }
}
test();

if (!('oomTest' in this))
    quit();

oomTest(test);