onNewScript-eval-cache-02.js (484B)
1 // onNewScript sees every script only once, even functions in cached eval scripts. 2 3 var g = newGlobal({newCompartment: true}); 4 g.eval("function directEval(s) { return eval(s); }"); 5 6 var dbg = Debugger(g); 7 var seen = new WeakMap; 8 dbg.onNewScript = function (script) { 9 assertEq(seen.has(script), false); 10 seen.set(script, 1); 11 script.getChildScripts().forEach(dbg.onNewScript); 12 }; 13 14 var s = "(function (x) { return x + 1; })"; 15 for (var i = 0; i < 50; i++) 16 g.directEval(s);