// |jit-test| test-also=--wasm-compiler=optimizing; error: TestComplete load(libdir + "asserts.js"); if (!wasmDebuggingEnabled()) throw "TestComplete"; var g = newGlobal({newCompartment: true}); g.parent = this; g.eval("Debugger(parent).onExceptionUnwind = function () {};"); let module = new WebAssembly.Module(wasmTextToBinary(` (module (import "a" "b" (func $imp (result i32))) (memory 1 1) (table 2 2 funcref) (elem (i32.const 0) $imp $def) (func $def (result i32) (i32.load (i32.const 0))) (type $v2i (func (result i32))) (func $call (param i32) (result i32) (call_indirect (type $v2i) (local.get 0))) (export "call" (func $call)) ) `)); let instance = new WebAssembly.Instance(module, { a: { b: function () { throw "test"; } } }); try { instance.exports.call(0); assertEq(false, true); } catch (e) { assertEq(e, "test"); } throw "TestComplete";