官术网_书友最值得收藏!

WebAssembly objects

In addition to the methods covered in the Loading a module and the WebAssembly namespace methods section, the global WebAssembly object has child objects that are used to interact with and troubleshoot WebAssembly. These objects correlate directly to the concepts we discussed in the sections on the WebAssembly binary and text formats. The following list contains these objects as well as their definitions taken from MDN:

  • The WebAssembly.Module object contains stateless WebAssembly code that has already been compiled by the browser and can be efficiently shared with workers, cached in IndexedDB, and instantiated multiple times
  • The WebAssembly.Instance object is a stateful, executable instance of a WebAssembly.Module which contains all of the exported WebAssembly functions that allow calling into WebAssembly code from JavaScript
  • WebAssembly.Memory, when called with the constructor, creates a new Memory object which is a resizable ArrayBuffer that holds the raw bytes of memory accessed by a WebAssembly Instance
  • WebAssembly.Table, when called with the constructor, creates a new Table object of the given size and element type that represents a WebAssembly Table (which stores function references)
  • WebAssembly.CompileError, when called with the constructor, creates an error which indicates that an issue occurred during WebAssembly decoding, or validation
  • WebAssembly.LinkError, when called with the constructor, creates an error which indicates that an issue occurred during module instantiation
  • WebAssembly.RuntimeError, when called with the constructor, creates an error which indicates that WebAssembly specified a trap (for example, stack overflow occurred)

Let's dig into each one individually, starting with the WebAssembly.Module object.

主站蜘蛛池模板: 塘沽区| 临夏县| 恩施市| 镇巴县| 怀化市| 灯塔市| 正定县| 蕉岭县| 孝义市| 来宾市| 穆棱市| 塔城市| 上饶县| 麻城市| 云霄县| 渝北区| 三河市| 中牟县| 疏附县| 页游| 铁岭县| 孝感市| 滕州市| 双峰县| 蒙阴县| 绵竹市| 鱼台县| 许昌县| 中卫市| 元江| 德令哈市| 虹口区| 崇文区| 金昌市| 蒲江县| 奉化市| 清苑县| 潍坊市| 德令哈市| 古丈县| 松桃|