diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-06-20 09:04:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-20 09:04:34 -0700 |
commit | f2c50fae844b34cf6d8488ab1fbc599eb935a919 (patch) | |
tree | 14bbf737b249afa2f82f86bea67d17d8f624484a /tests/wasm_async.js | |
parent | 6a5177dc11936687e6da95c3c45e3e41a7856d79 (diff) |
Fix silent failure of WebAssembly.instantiate() (#2548)
By making WASM compilation synchronous. We'll have to do more work to
make it properly async.
Diffstat (limited to 'tests/wasm_async.js')
-rw-r--r-- | tests/wasm_async.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/wasm_async.js b/tests/wasm_async.js new file mode 100644 index 000000000..7b521caee --- /dev/null +++ b/tests/wasm_async.js @@ -0,0 +1,27 @@ +// The following blob can be created by taking the following s-expr and pass +// it through wat2wasm. +// (module +// (func $add (param $a i32) (param $b i32) (result i32) +// local.get $a +// local.get $b +// i32.add) +// (export "add" (func $add)) +// ) +// prettier-ignore +const bytes = new Uint8Array([ + 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x07, 0x01, 0x60, + 0x02, 0x7f, 0x7f, 0x01, 0x7f, 0x03, 0x02, 0x01, 0x00, 0x07, 0x07, 0x01, + 0x03, 0x61, 0x64, 0x64, 0x00, 0x00, 0x0a, 0x09, 0x01, 0x07, 0x00, 0x20, + 0x00, 0x20, 0x01, 0x6a, 0x0b +]); + +async function main() { + let wasm = await WebAssembly.instantiate(bytes); + let result = wasm.instance.exports.add(1, 3); + console.log("1 + 3 =", result); + if (result != 4) { + throw Error("bad"); + } +} + +main(); |