mirror of
https://github.com/denoland/deno.git
synced 2024-12-28 01:59:06 -05:00
Enable WebAssembly.instantiateStreaming (#7043)
This commit is contained in:
parent
ac56512ba4
commit
4b3a3d9d0f
4 changed files with 36 additions and 0 deletions
|
@ -2060,6 +2060,11 @@ itest!(wasm_async {
|
|||
output: "wasm_async.out",
|
||||
});
|
||||
|
||||
itest!(wasm_streaming {
|
||||
args: "run wasm_streaming.js",
|
||||
output: "wasm_streaming.out",
|
||||
});
|
||||
|
||||
itest!(wasm_unreachable {
|
||||
args: "run wasm_unreachable.js",
|
||||
output: "wasm_unreachable.out",
|
||||
|
|
29
cli/tests/wasm_streaming.js
Normal file
29
cli/tests/wasm_streaming.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
// 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))
|
||||
// )
|
||||
// deno-fmt-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() {
|
||||
const wasm = await WebAssembly.instantiateStreaming(bytes, {
|
||||
});
|
||||
|
||||
const result = wasm.instance.exports.add(1, 3);
|
||||
console.log("1 + 3 =", result);
|
||||
if (result != 4) {
|
||||
throw Error("bad");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
1
cli/tests/wasm_streaming.out
Normal file
1
cli/tests/wasm_streaming.out
Normal file
|
@ -0,0 +1 @@
|
|||
1 + 3 = 4
|
|
@ -175,6 +175,7 @@ pub unsafe fn v8_init() {
|
|||
// See https://github.com/denoland/deno/issues/2544
|
||||
let argv = vec![
|
||||
"".to_string(),
|
||||
"--wasm-test-streaming".to_string(),
|
||||
"--no-wasm-async-compilation".to_string(),
|
||||
"--harmony-top-level-await".to_string(),
|
||||
"--experimental-wasm-bigint".to_string(),
|
||||
|
|
Loading…
Reference in a new issue