michael@0: // Debugger.Scripts keep their referents alive. michael@0: michael@0: var g = newGlobal(); michael@0: var dbg = Debugger(g); michael@0: var arr = []; michael@0: dbg.onDebuggerStatement = function (frame) { arr.push(frame.script); }; michael@0: g.eval("for (var i = 0; i < 10; i++) Function('debugger;')();"); michael@0: assertEq(arr.length, 10); michael@0: michael@0: gc(); michael@0: michael@0: for (var i = 0; i < arr.length; i++) michael@0: assertEq(arr[i].lineCount, 1); michael@0: