// Same thing but it needs to reconstruct multiple stack frames (so, // multiple functions called inside the loop) function testSlowArrayPopMultiFrame() { var a = []; for (var i = 0; i < 9; i++) a[i] = [0]; a[8].__defineGetter__("0", function () { return 23; }); function child(a, i) { return a[i].pop(); // reenters interpreter in getter } function parent(a, i) { return child(a, i); } function gramps(a, i) { return parent(a, i); } var last; for (var i = 0; i < 9; i++) last = gramps(a, i); return last; } assertEq(testSlowArrayPopMultiFrame(), 23);