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);
|