tor-browser

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

jit-updatepcquad.js (793B)


      1 var evalInFrame = (function (global) {
      2    var dbgGlobal = newGlobal({newCompartment: true});
      3    var dbg = new dbgGlobal.Debugger();
      4    return function evalInFrame(code) {
      5        dbg.addDebuggee(global);
      6        var frame = dbg.getNewestFrame().older;
      7        frame = frame.older || frame;
      8        let completion = frame.eval(code);
      9        return completion.return;
     10    };
     11 })(this);
     12 
     13 const { exports } = wasmEvalText(`
     14    (module
     15        (import "global" "func" (func (param i32) (result i32)))
     16        (func (export "func_0") (param i32)(result i32)
     17         local.get 0
     18         call 0
     19        )
     20    )
     21 `, {
     22    global: {
     23        func: function jscode(i) {
     24            return evalInFrame(`a = ${i}`);
     25        }
     26    }
     27 });
     28 
     29 for (i = 0; i < 20; ++i) {
     30    assertEq(exports.func_0(i), i);
     31 }