From 48fedee34e567570e43905dc9f32d0d78118b9b0 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Wed, 6 Feb 2019 00:12:58 +1100 Subject: Add WebAssembly to runtime library (#1677) This also modifies the `ts_library_builder` to support inlining assets. Includes integration tests from @sh7dm --- tests/wasm.test | 2 ++ tests/wasm.ts | 15 +++++++++++++++ tests/wasm.ts.out | 1 + 3 files changed, 18 insertions(+) create mode 100644 tests/wasm.test create mode 100644 tests/wasm.ts create mode 100644 tests/wasm.ts.out (limited to 'tests') diff --git a/tests/wasm.test b/tests/wasm.test new file mode 100644 index 000000000..9e3ecbb28 --- /dev/null +++ b/tests/wasm.test @@ -0,0 +1,2 @@ +args: tests/wasm.ts +output: tests/wasm.ts.out \ No newline at end of file diff --git a/tests/wasm.ts b/tests/wasm.ts new file mode 100644 index 000000000..26ad7ba28 --- /dev/null +++ b/tests/wasm.ts @@ -0,0 +1,15 @@ +// prettier-ignore +const wasmCode = new Uint8Array([ + 0, 97, 115, 109, 1, 0, 0, 0, 1, 133, 128, 128, 128, 0, 1, 96, 0, 1, 127, + 3, 130, 128, 128, 128, 0, 1, 0, 4, 132, 128, 128, 128, 0, 1, 112, 0, 0, + 5, 131, 128, 128, 128, 0, 1, 0, 1, 6, 129, 128, 128, 128, 0, 0, 7, 145, + 128, 128, 128, 0, 2, 6, 109, 101, 109, 111, 114, 121, 2, 0, 4, 109, 97, + 105, 110, 0, 0, 10, 138, 128, 128, 128, 0, 1, 132, 128, 128, 128, 0, 0, + 65, 42, 11 + ]); + +const wasmModule = new WebAssembly.Module(wasmCode); + +const wasmInstance = new WebAssembly.Instance(wasmModule); + +console.log(wasmInstance.exports.main().toString()); diff --git a/tests/wasm.ts.out b/tests/wasm.ts.out new file mode 100644 index 000000000..d81cc0710 --- /dev/null +++ b/tests/wasm.ts.out @@ -0,0 +1 @@ +42 -- cgit v1.2.3