tor-browser

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

bug-1461448.js (1079B)


      1 // |jit-test| skip-if: helperThreadCount() === 0
      2 
      3 gczeal(0);
      4 
      5 let lfPreamble = `
      6  var lfOffThreadGlobal = newGlobal({newCompartment: true});
      7  for (lfLocal in this)
      8    try {} catch(lfVare5) {}
      9 `;
     10 evaluate(lfPreamble);
     11 evaluate(`
     12  var g = newGlobal({newCompartment: true});
     13  var dbg = new Debugger;
     14  var gw = dbg.addDebuggee(g);
     15  for (lfLocal in this)
     16    if (!(lfLocal in lfOffThreadGlobal))
     17      try {
     18        lfOffThreadGlobal[lfLocal] = this[lfLocal];
     19      } catch(lfVare5) {}
     20  var g = newGlobal({newCompartment: true});
     21  var gw = dbg.addDebuggee(g);
     22 `);
     23 lfOffThreadGlobal.offThreadCompileToStencil(`
     24  setMarkStackLimit(1);
     25  grayRoot()[0] = "foo";
     26 `);
     27 var stencil = lfOffThreadGlobal.finishOffThreadStencil();
     28 lfOffThreadGlobal.evalStencil(stencil);
     29 eval(`
     30  var lfOffThreadGlobal = newGlobal({newCompartment: true});
     31  try { evaluate(\`
     32    gczeal(18, 1);
     33    grayRoot()[0] = "foo";
     34    let inst = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(
     35    \\\`(module
     36       (memory (export "memory") 1 1)
     37     )\\\`
     38    )));
     39 \`); } catch(exc) {}
     40 `);