[ARM] Disable tests that run out of memory
[WebKit-https.git] / JSTests / stress / has-own-property-name-cache-symbol-keys.js
1 //@ skip if $memoryLimited
2
3 function assert(b) {
4     if (!b)
5         throw new Error("Bad assertion.");
6 }
7 noInline(assert);
8
9 let objs = [];
10 let symbolPool = [];
11 const numSymbols = 800;
12 for (let i = 0; i < numSymbols; ++i)
13     symbolPool.push(Symbol());
14
15 for (let i = 0; i < 10000; i++) {
16     let num = (Math.random() * numSymbols) | 0;
17     let o = {};
18     for (let i = 0; i < num; ++i) {
19         o[symbolPool[i]] = 25; 
20     }
21     objs.push(o);
22 }
23
24 function foo(o) {
25     let props = Object.getOwnPropertySymbols(o);
26     for (let i = 0; i < props.length; ++i) {
27         let s = props[i];
28         assert(o.hasOwnProperty(s));
29     }
30 }
31 noInline(foo);
32
33 let start = Date.now();
34 for (let o of objs) {
35     foo(o);
36 }