WASM Memory
WASM Memoryは、WebAssemblyモジュールのリニアメモリオブジェクトで、連続したアドレス指定可能なバイト配列であり、WASMコードはここを通じてデータを読み書きする。
目的
WASMコードにCスタイルのポインタアドレッシングでヒープメモリを提供する。WASMとJSのデータ交換の架け橋である。
メカニズム
new WebAssembly.Memory({initial, maximum}) でリニアメモリを作成し、grow()で拡張、bufferプロパティでArrayBufferとして公開する。WASMコードはi32インデックスでメモリをアドレッシングする。SharedArrayBufferを基盤にすればスレッド化に対応する。
ユースケース
- WASMのヒープメモリ
- Cコードの移植
- WASMとJSのデータ交換