// Debuggers with enabled hooks should not be GC'd even if they are otherwise | |
// unreachable. | |
var g = newGlobal(); | |
var actual = 0; | |
var expected = 0; | |
function f() { | |
for (var i = 0; i < 20; i++) { | |
var dbg = new Debugger(g); | |
dbg.num = i; | |
dbg.onDebuggerStatement = function (stack) { actual += this.num; }; | |
expected += i; | |
} | |
} | |
f(); | |
gc(); gc(); gc(); | |
g.eval("debugger;"); | |
assertEq(actual, expected); |