var g = newGlobal(); | |
var dbg = new Debugger(g); | |
var hits = 0; | |
dbg.onDebuggerStatement = function(frame) { | |
++hits; | |
frame.older.eval("escaped = function() { return y }"); | |
} | |
var arr = []; | |
const N = 10; | |
for (var i = 0; i < N; ++i) { | |
g.escaped = undefined; | |
g.eval("function h() { debugger }"); | |
g.eval("(function () { var y = {p:42}; h(); yield })().next();"); | |
assertEq(g.eval("escaped().p"), 42); | |
arr.push(g.escaped); | |
} | |
gc(); | |
for (var i = 0; i < N; ++i) | |
arr[i](); |