[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / get-by-val-on-undecided-sane-chain-6.js
1 "use strict"
2
3 // Test in-bounds access.
4 function opaqueGetByVal1(array, index) {
5     return array[index];
6 }
7 noInline(opaqueGetByVal1);
8
9 // The max unsigned 32bits integer is the first integer not considered an indexing property.
10 const NotIndexInteger = 0xFFFFFFFF;
11
12 function testUninitializedArray() {
13     const target = new Array(100);
14
15     // We start with an original array. Those GetByVal can be eliminated.
16     for (let i = 0; i < 1e4; ++i) {
17         const value = opaqueGetByVal1(target, i);
18         if (value !== undefined)
19             throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value;
20     }
21
22     Array.prototype[NotIndexInteger] = "Uh!";
23
24     for (let i = 0; i < 1e4; ++i) {
25         const value = opaqueGetByVal1(target, i);
26         if (value !== undefined)
27             throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value;
28     }
29     const prototypeValue = opaqueGetByVal1(target, NotIndexInteger)
30     if (prototypeValue !== "Uh!")
31         throw "prototypeValue value = " + value;
32
33 }
34 testUninitializedArray();
35
36 // Test in-bounds access.
37 function opaqueGetByVal2(array, index) {
38     return array[index];
39 }
40 noInline(opaqueGetByVal2);
41
42 function testAccessOnEmpty() {
43     const target = new Array();
44
45     for (let i = 0; i < 1e4; ++i) {
46         const value = opaqueGetByVal2(target, i);
47         if (value !== undefined)
48             throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value;
49     }
50     const prototypeValue = opaqueGetByVal2(target, NotIndexInteger)
51     if (prototypeValue !== "Uh!")
52         throw "prototypeValue value = " + value;
53 }
54 testAccessOnEmpty();