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