例
1:
メモリ初期化
;; demo.wat => demo.wasm
(module
(memory (export "mem") 1)
;;
共有したメモリ空間を参照する accumlate
を実装
(func (export "accumulate") (param $ptr i32) (param $length i32) …))
// main.js (wasm host)
const mem = new WebAssembly.Memory({initial:10, maximum:100});
const obj = await WebAssembly.instantiateStreaming(..., {js:{mem}});
const i32 = new Uint32Array(mem.buffer);
for (let i = 0; i < 10; i++) i32[i] = i; // JS
側から書き換える
obj.instance.exports.accumulate(0, 10);
https://webassembly.org/getting-started/js-api/