gc-01.js (459B)
1 // Debuggers with enabled hooks should not be GC'd even if they are otherwise 2 // unreachable. 3 4 var g = newGlobal({newCompartment: true}); 5 var actual = 0; 6 var expected = 0; 7 8 function f() { 9 for (var i = 0; i < 20; i++) { 10 var dbg = new Debugger(g); 11 dbg.num = i; 12 dbg.onDebuggerStatement = function (stack) { actual += this.num; }; 13 expected += i; 14 } 15 } 16 17 f(); 18 gc(); gc(); gc(); 19 g.eval("debugger;"); 20 assertEq(actual, expected);