tor-browser

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

bug1904644-2.js (948B)


      1 function test() {
      2    var throwExc = false;
      3    var e = {m: {foreign() {
      4        if (throwExc) {
      5            throw new TypeError("hi");
      6        }
      7    }}};
      8    var bin = wasmTextToBinary(`
      9    (module
     10        (import "m" "foreign" (func $foreign))
     11        (func
     12            (export "f")
     13            (param i32)
     14            (result i32)
     15            (local i32)
     16            try
     17                call $foreign
     18                local.get 0
     19                local.set 1
     20            catch_all
     21                i32.const 12345
     22                local.get 0
     23                i32.add
     24                local.set 1
     25            end
     26            local.get 1
     27        )
     28    )`);
     29    var mod = new WebAssembly.Module(bin);
     30    var inst = new WebAssembly.Instance(mod, e);
     31    for (var i = 0; i < 30; i++) {
     32        if (i === 20) {
     33            throwExc = true;
     34        }
     35        var res = inst.exports.f(i);
     36        assertEq(res, throwExc ? (12345 + i) : i);
     37    }
     38 }
     39 test();