WebAssembly.Memory()
WebAssembly.Memory() ìì±ìë WebAssembly Instanceê° ì¡ì¸ì¤íë ë©ëª¨ë¦¬ì ìì ë°ì´í¸ë¥¼ ê°ì§ ArrayBuffer(í¬ê¸°ì¡°ì ì´ ê°ë¥)ì¸ ì Memory ê°ì²´ë¥¼ ë§ëëë¤.
ë©ëª¨ë¦¬ë JavaScript í¹ì WebAssembly ì½ë ììì ë§ë¤ì´ì§ë©° JavaScript ê·¸ë¦¬ê³ WebAssemblyìì ì ê·¼íê±°ë ë³ê²½ì´ ê°ë¥í©ëë¤.
Syntax
var myMemory = new WebAssembly.Memory(memoryDescriptor);
Parameters
- memoryDescriptor
-
ë¤ìì 멤ë²ë¥¼ ê°ì§ì ìë ê°ì²´ì ëë¤._ initial _ : WebAssembly Pageì ë¨ìë³ WebAssembly ë©ëª¨ë¦¬ì ì´ê¸° í¬ê¸°ì ëë¤.
- maximum Optional
-
WebAssembly ë©ëª¨ë¦¬ì ìµë í¬ê¸°ë WebAssembly íì´ì§ ë¨ìë¡ ì¦ê° í ì ììµëë¤. ì´ ë§¤ê° ë³ìê° ìì¼ë©´
maximumë§¤ê° ë³ìë ìì§ì ëí´ ë©ëª¨ë¦¬ë¥¼ ì ë©´ì ìì½íëë¡ í©ëë¤. ê·¸ë¬ë ìì§ì ì´ ìì½ ìì²ì 무ìíê±°ë í´ë¨í í ì ììµëë¤. ì¼ë°ì ì¼ë¡ ëë¶ë¶ì WebAssembly 모ëìmaximumê°ì ì¤ì í íìê° ììµëë¤.
ì°¸ê³ : WebAssembly íì´ì§ì í¬ê¸°ë 65,536 ë°ì´í¸ë¡ 64KiBë¡ ê³ ì ëì´ ììµëë¤.
Exceptions
memoryDescriptorê° object ì íì´ ìë ê²½ì°TypeErrorê° ë°ìí©ëë¤.maximumì´ ì§ì ëê³initialë³´ë¤ ìì ê²½ì°RangeErrorê° ë°ìí©ëë¤.
Memory instances
모ë Memory ì¸ì¤í´ì¤ë Memory()ìì±ìì prototype object를 ììí©ëë¤.ì´ ì¸ì¤í´ì¤ë 모ë Memory ì¸ì¤í´ì¤ì ì ì©ëëë¡ ìì í ì ììµëë¤.
Instance properties
Memory.prototype.constructor-
ì´ ê°ì²´ì ì¸ì¤í´ì¤ë¥¼ ìì± í í¨ì를 ëë ¤ì¤ëë¤. 기본ì ì¼ë¡ ì´ê²ì
WebAssembly.Memory()ìì±ìì ëë¤. Memory.prototype.buffer-
ë©ëª¨ë¦¬ì í¬í¨ ë ë²í¼ë¥¼ ë°ííë ì ê·¼ ì ìì±ì ëë¤.
Instance methods
Memory.prototype.grow()-
ì§ì ë ìì WebAssembly íì´ì§ (ê°ê° 64KB í¬ê¸°)ë§í¼ ë©ëª¨ë¦¬ ì¸ì¤í´ì¤ì í¬ê¸°ë¥¼ ë립ëë¤.
Examples
WebAssembly.Memory ê°ì²´ë¥¼ ê°ì ¸ ì¤ë ë ê°ì§ ë°©ë²ì´ ììµëë¤. 첫 ë²ì§¸ ë°©ë²ì JavaScriptìì ìì±íë ê²ì
ëë¤. ë¤ì ìì ììë ì´ê¸° í¬ê¸°ê° 10 íì´ì§ (640KiB)ì´ê³ ìµë í¬ê¸°ê° 100 íì´ì§ (6.4MiB) ì¸ ì WebAssembly ë©ëª¨ë¦¬ ì¸ì¤í´ì¤ë¥¼ ë§ëëë¤.
var memory = new WebAssembly.Memory({ initial: 10, maximum: 100 });
WebAssembly.Memory ê°ì²´ë¥¼ ê°ì ¸ ì¤ë ë ë²ì§¸ ë°©ë²ì WebAssembly 모ëìì ë´ë³´ë
ëë¤. ë¤ì ìì ë (GitHubì memory.htmlì ë³´ì¸ì. ë¼ì´ë¸ë¡ 보기) ìì±ë ë©ëª¨ë¦¬ë¥¼ ê°ì ¸ ì¤ë ëì WebAssembly.instantiateStreaming() ë©ìë를 ì¬ì©íì¬ë¡ë ë memory.wasm ë°ì´í¸ ì½ë를 ê°ì ¸ ìì ì¸ì¤í´ì¤íí©ëë¤. ìì ì¤ì. ê·¸ë° ë¤ì ë©ëª¨ë¦¬ì ì¼ë¶ ê°ì ì ì¥ í ë¤ì í¨ì를 ë´ ë³´ë¸ ë¤ì ì¼ë¶ ê°ì í©ê³ì ì¬ì©í©ëë¤.
WebAssembly.instantiateStreaming(fetch("memory.wasm"), {
js: { mem: memory },
}).then((obj) => {
var i32 = new Uint32Array(memory.buffer);
for (var i = 0; i < 10; i++) {
i32[i] = i;
}
var sum = obj.instance.exports.accumulate(0, 10);
console.log(sum);
});
ëª ì¸ì
| Specification |
|---|
| WebAssembly JavaScript Interface> # memories> |
| Unknown specification> |