The grow()
protoype method of the Memory
object increases the size of the memory instance by a specified number of WebAssembly pages.
memory.grow(number);
The previous size of the memory, in units of WebAssembly pages.
The following example creates a new WebAssembly Memory instance with an initial size of 1 page (64KiB), and a maximum size of 10 pages (640KiB).
var memory = new WebAssembly.Memory({initial:1, maximum:10});
We can then grow the instance by one page like so:
const bytesPerPage = 64 * 1024; console.log(memory.buffer.byteLength / bytesPerPage); // "1" console.log(memory.grow(1)); // "1" console.log(memory.buffer.byteLength / bytesPerPage); // "2"
Note the return value of grow()
here is the previous number of WebAssembly pages.
Specification | Status | Comment |
---|---|---|
WebAssembly JavaScript API The definition of 'grow()' in that specification. | Draft | Initial draft definition. |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 57 | 16 | 522 | No | 44 | 11 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | 57 | 57 | Yes1 | 522 | No | ? | 11 |
1. This feature is behind the Experimental JavaScript Features
preference.
2. Disabled in the Firefox 52 Extended Support Release (ESR).
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory/grow