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

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.

主站蜘蛛池模板: 吉林省| 大荔县| 光泽县| 黔东| 南木林县| 法库县| 新平| 临朐县| 永安市| 时尚| 上思县| 嘉兴市| 江津市| 岐山县| 朝阳县| 应城市| 屯留县| 青川县| 新营市| 开化县| 静宁县| 勃利县| 曲阜市| 姚安县| 顺平县| 古田县| 长岭县| 翁牛特旗| 高安市| 青州市| 扬州市| 西盟| 柞水县| 西平县| 繁昌县| 高台县| 大姚县| 西华县| 慈溪市| 石嘴山市| 商城县|