js/src/jit-test/tests/debug/gc-08.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:a273e3271fbe
1 // Debuggers with enabled onExceptionUnwind hooks should not be GC'd even if
2 // they are otherwise unreachable.
3
4 load(libdir + "asserts.js");
5
6 var g = newGlobal();
7 var actual = 0;
8 var expected = 0;
9
10 function f() {
11 for (var i = 0; i < 20; i++) {
12 var dbg = new Debugger(g);
13 dbg.num = i;
14 dbg.onExceptionUnwind = function (stack, exc) { actual += this.num; };
15 expected += i;
16 }
17 }
18
19 f();
20 gc();
21 assertThrowsValue(function () { g.eval("throw 'fit';"); }, "fit");
22 assertEq(actual, expected);

mercurial