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