WASM Memory
WASM Memory est l'objet de mémoire linéaire d'un module WebAssembly, un tableau d'octets contigu adressable par lequel le code WASM lit et écrit des données.
Objectif
Fournir de la mémoire de tas au code WASM avec un adressage de pointeurs façon C ; le pont d'échange de données entre WASM et JS.
Mécanisme
new WebAssembly.Memory({initial, maximum}) crée la mémoire linéaire ; grow() l'étend et la propriété buffer l'expose comme ArrayBuffer. Le code WASM adresse la mémoire avec des index i32. Elle peut s'appuyer sur un SharedArrayBuffer pour le multithreading.
Cas d’usage
- Mémoire de tas WASM
- Portage de code C
- Échange de données WASM-JS