blob: 6bbe296faa0d0bb45c57f71df7685b69861cab64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Always use the per-element barrier.
gczeal(12);
function f() {
var arr = [];
for (var i = 0; i < 1000; i++)
arr.push(i);
gc(); // Ensure arr is tenured.
for (var i = 0; i < 10; i++)
arr.shift();
// Add a nursery object, shift all elements, and trigger a GC to ensure
// the post barrier doesn't misbehave.
for (var j = 0; j < 40; j++)
arr[500] = {x: j};
while (arr.length > 0)
arr.shift();
gc();
return arr;
}
f();
|