WebAssembly.Memory.prototype.grow()

grow()WebAssembly.Memory オブジェクトのプロトタイプメソッドで、指定した WebAssembly ページの数だけメモリインスタンスの大きさを拡張します。

構文

memory.grow(number);

引数

number
メモリを拡大する WebAssembly ページ数 (それぞれは 64KiB の大きさ)。

返値

以前のメモリの大きさを、 WebAssembly ページ単位で返します。

以下の例では、新しい WebAssembly メモリインスタンスを初期サイズ1ページ (64KiB)、最大サイズ10ページ (640KiB) で作成します。

var memory = new WebAssembly.Memory({initial:1, maximum:10});

それから、インスタンスを1ページ分拡張することができます。

const bytesPerPage = 64 * 1024;
console.log(memory.buffer.byteLength / bytesPerPage);  // "1"
console.log(memory.grow(1));                           // "1"
console.log(memory.buffer.byteLength / bytesPerPage);  // "2"

なお、ここでの grow() の返値は直前の WebAssembly ページ数です。

仕様書

仕様書
WebAssembly JavaScript Interface
grow() の定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報