// Debuggers with enabled onExceptionUnwind hooks should not be GC'd even if // they are otherwise unreachable. load(libdir + "asserts.js"); 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.onExceptionUnwind = function (stack, exc) { actual += this.num; }; expected += i; } } f(); gc(); assertThrowsValue(function () { g.eval("throw 'fit';"); }, "fit"); assertEq(actual, expected);