Source code
Revision control
Copy as Markdown
Other Tools
function addRemove() {
dbg.addDebuggee(g);
f = dbg.getNewestFrame().older;
}
function removeAdd() {
dbg.addDebuggee(g);
var f = dbg.getNewestFrame();
while (f) {
f = f.older;
}
}
function testInterrupt() {
g = newGlobal({newCompartment: true});
dbg = new Debugger;
g.eval("" + function f() {
return g();
});
g.eval("" + function g() {
return h();
});
g.eval("" + function h() {
for (var i = 0; i < 100; i++) {
interruptIf(5);
}
});
setInterruptCallback(function() {
toggleSeq();
return true;
});
g.f();
}
toggleSeq = addRemove;
testInterrupt();
toggleSeq = removeAdd;
testInterrupt();