blob: a10f709f718b76e30ea5b7c85d39aa8431aee66f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
var evalInFrame = (function evalInFrame(global) {
var dbgGlobal = newGlobal({newCompartment: true});
var dbg = new dbgGlobal.Debugger();
return function evalInFrame(upCount, code) {
dbg.addDebuggee(global);
var frame = dbg.getNewestFrame().older;
for (var i = 0; i < upCount; i++)
frame = frame.older;
var completion = frame.eval(code);
if (completion.throw)
throw 1;
};
})(this);
function f() {
for (var i = 0; i < 10; - i)
g();
}
function h() {
evalInFrame(0, "a.push(1)");
evalInFrame(1, "a.push(2)");
}
function g() {
h();
}
try {
f();
} catch(e) {}
var a = [];
for (var i = 0; i < 3; i++)
g();
assertEq(a.length, 6);
|