[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/WebAssembly/Reference/JavaScript_interface/Memory [Back]  [Original]

WebAssembly.Memory - WebAssembly | MDN

MDN Web Docs

View in English Always switch to English

WebAssembly.Memory

WebAssembly.Memory ArrayBuffer SharedArrayBuffer WebAssembly.Instance

WebAssembly JavaScript Memory WebAssembly JavaScript JavaScript JavaScript

Wasm Memory WebAssembly WebAssembly

: WebAssemblyJavaScript DataView

WebAssembly.Memory()

Memory

Memory.prototype.buffer

Memory.prototype.grow()

WebAssembly (64KiB 1 )

Memory

WebAssembly.Memory 2 1 JavaScript 10 (640KiB) 100 (6.4MiB) WebAssembly Memory buffer ArrayBuffer

js
const memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100,
});

(GitHub memory.html ) "memory.wasm" WebAssembly.instantiateStreaming() DataView

js
const memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100,
});

WebAssembly.instantiateStreaming(fetch("memory.wasm"), {
  js: { mem: memory },
}).then((obj) => {
  const summands = new DataView(memory.buffer);
  for (let i = 0; i < 10; i++) {
    summands.setUint32(i * 4, i, true); // WebAssembly is little endian
  }
  const sum = obj.instance.exports.accumulate(0, 10);
  console.log(sum);
});

WebAssembly.Memory 2 WebAssembly WebAssembly exports ( WebAssembly ) WebAssembly memory Uint32Array

js
WebAssembly.instantiateStreaming(fetch("memory.wasm")).then((obj) => {
  const values = new DataView(obj.instance.exports.memory.buffer);
  console.log(values.getUint32(0, true));
});

WebAssembly JavaScript shared: true

js
const memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100,
  shared: true,
});

buffer SharedArrayBuffer

64

64 WebAssembly initial maximum BigInt

js
const memory = new WebAssembly.Memory({
  address: "i64",
  initial: 1n,
  maximum: 10n,
});

WebAssembly JavaScript Interface
# memories
Unknown specification

webassembly.api.Memory

webassembly.multiMemory


Web Proxy Viewer  |  New URL  |  Original Page