tor-browser

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

bug1910880.js (956B)


      1 // |jit-test| --fast-warmup; skip-if: !wasmIsSupported()
      2 
      3 gczeal(2);
      4 
      5 function wasmEvalText(str) {
      6    var bin = wasmTextToBinary(str);
      7    var m = new WebAssembly.Module(bin);
      8    return new WebAssembly.Instance(m);
      9 }
     10 function test() {
     11    var instance = wasmEvalText(`
     12        (module (type $a (array (mut i32)))
     13        (func (export "createDefault") (param i32) (result eqref)
     14            local.get 0
     15            array.new_default $a
     16        )
     17        )
     18    `);
     19    var createDefault = instance.exports.createDefault;
     20 
     21    var g = newGlobal({newCompartment: true});
     22    g.debuggeeGlobal = this;
     23    g.eval("(" + function () {
     24        var dbg = new Debugger(debuggeeGlobal);
     25        dbg.onExceptionUnwind = function () {
     26            throw new Error("x");
     27        };
     28    } + ")();");
     29 
     30    for (var i = 0; i < 8; i++) {
     31        try {
     32            createDefault(-1);
     33        } catch (e) {
     34        }
     35    }
     36 }
     37 test();
     38 quit(0); // Ensure exit code is 0, not 3.