[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / stress / double-array-to-array-storage.js
1 "use strict";
2
3 function assert(b, msg) {
4     if (!b)
5         throw new Error(msg);
6 }
7
8 var arr = [];
9
10 function test()
11 {
12     arr = [0, 2147483648]; // NOTE: the second number is greater than INT_MAX
13
14     assert(arr[0] === 0, "arr[0] should be 0, but is " + arr[0]);
15     assert(arr[1] === 2147483648, "arr[1] should be 2147483648, but is " + arr[1]);
16     assert(arr.length === 2, "Length should be 2, but is " + arr.length);
17
18     arr.shift();
19
20     assert(arr[0] === 2147483648, "arr[0] should be 2147483648, but is " + arr[0]);
21     assert(arr[1] === undefined, "arr[1] should be undefined, but is " + arr[1]);
22     assert(arr.length === 1, "Length should be 2, but is " + arr.length);
23
24     arr[1] = 1;
25
26     assert(arr[0] === 2147483648, "arr[0] should be 2147483648, but is " + arr[0]);
27     assert(arr[1] === 1, "arr[1] should be 1, but is " + arr[1]);
28     assert(arr.length === 2, "Length should be 2, but is " + arr.length);
29 }
30
31 for (let i = 0; i < 10000; i++)
32     test();
33