summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/inlining/typedarray-data-inlining-neuter-samedata.js
blob: 16478e0a0657c25997df18f9f6002ee658d17af3 (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
var NONINLINABLE_AMOUNT = 40;
var SIZEOF_INT32 = 4;

var INLINABLE_INT8_AMOUNT = 4;

// Large arrays with non-inline data

var ab1 = new ArrayBuffer(NONINLINABLE_AMOUNT * SIZEOF_INT32);
var ta1 = new Int32Array(ab1);
for (var i = 0; i < ta1.length; i++)
  ta1[i] = i + 43;
function q1() { return ta1[NONINLINABLE_AMOUNT - 1]; }
assertEq(q1(), NONINLINABLE_AMOUNT - 1 + 43);
assertEq(q1(), NONINLINABLE_AMOUNT - 1 + 43);
detachArrayBuffer(ab1);
assertEq(q1(), undefined);

// Small arrays with inline data

var ab2 = new ArrayBuffer(INLINABLE_INT8_AMOUNT);
var ta2 = new Int8Array(ab2);
for (var i = 0; i < ta2.length; i++)
  ta2[i] = i + 13;
function q2() { return ta2[INLINABLE_INT8_AMOUNT - 1]; }
assertEq(q2(), INLINABLE_INT8_AMOUNT - 1 + 13);
assertEq(q2(), INLINABLE_INT8_AMOUNT - 1 + 13);
detachArrayBuffer(ab2);
assertEq(q2(), undefined);