unreachable

unreachable 用于表示不可到达的代码点。unreachable 是无条件的陷阱:要是执行到 unreachable,该指令会触发陷阱。

尝试一下

(module
  (func (export "throw")
    unreachable
  )
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url)).then((result) => {
  result.instance.exports.throw();
  // 期望的输出:RuntimeError: unreachable
});

语法

wat
unreachable
指令 二进制操作码
unreachable 0x00