// When the debugger is triggered from different stack frames that happen to | |
// occupy the same memory, it delivers different Debugger.Frame objects. | |
var g = newGlobal(); | |
var dbg = Debugger(g); | |
var hits; | |
var a = []; | |
dbg.onDebuggerStatement = function (frame) { | |
for (var i = 0; i < a.length; i++) | |
assertEq(a[i] === frame, false); | |
a.push(frame); | |
hits++; | |
}; | |
g.eval("function f() { debugger; }"); | |
g.eval("function h() { debugger; f(); }"); | |
hits = 0; | |
g.eval("for (var i = 0; i < 4; i++) h();"); | |
assertEq(hits, 8); |