]> git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/arguments-custom-properties-gc.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / arguments-custom-properties-gc.js
1 function makeBaseArguments() {
2 return arguments;
3 }
4
5 noInline(makeBaseArguments);
6
7 function makeArray(length) {
8 var array = new Array(length);
9 for (var i = 0; i < length; ++i)
10 array[i] = 99999;
11 return array;
12 }
13
14 noInline(makeArray);
15
16 function cons(f) {
17 var result = makeBaseArguments();
18 result.f = f;
19 return result;
20 }
21
22 var array = [];
23 for (var i = 0; i < 100000; ++i)
24 array.push(cons(i));
25
26 for (var i = 0; i < 1000000; ++i) {
27 var j = (i * 3) % array.length;
28 array[j] = cons(j);
29
30 makeArray(i % 7);
31 }
32
33 for (var i = 0; i < array.length; ++i) {
34 if (array[i].f != i)
35 throw "Error: bad value of f at " + i + ": " + array[i].f;
36 }