summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/bug1417961.js
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);