tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

testGeneratorDieButScopeAlive.js (519B)


      1 var g = newGlobal({newCompartment: true});
      2 var dbg = new Debugger(g);
      3 
      4 var hits = 0;
      5 dbg.onDebuggerStatement = function(frame) {
      6    ++hits;
      7    frame.older.eval("escaped = function() { return y }");
      8 }
      9 
     10 var arr = [];
     11 const N = 10;
     12 
     13 for (var i = 0; i < N; ++i) {
     14    g.escaped = undefined;
     15    g.eval("function h() { debugger }");
     16    g.eval("(function* () { var y = {p:42}; h(); yield })().next();");
     17    assertEq(g.eval("escaped().p"), 42);
     18    arr.push(g.escaped);
     19 }
     20 
     21 gc();
     22 
     23 for (var i = 0; i < N; ++i)
     24    arr[i]();