KEMBAR78
WebAssembly Specifications

WebAssembly Specifications

To support the embedding of WebAssembly into different environments, its specification is split into layers that are specified in separate documents.

Source for these documents is available here.

Core Specification

Defines the semantics of WebAssembly modules independent from a concrete embedding. The WebAssembly core is specified in a single document:

  • WebAssembly: defines the structure of WebAssembly modules, their instruction set, and their representation in binary and text format, as well as the semantics of validation, instantiation, and execution.

Embedder Specifications

Define application programming interfaces (APIs) enabling the use of WebAssembly modules in concrete embedding environments. Currently, two APIs are specified:

  • JavaScript Embedding: defines JavaScript classes and objects for accessing WebAssembly from within JavaScript, including methods for validation, compilation, instantiation, and classes for representing and manipulating imports and exports as JavaScript objects.

  • Web Embedding: defines extensions to the JavaScript API made available specifically in web browsers, in particular, an interface for streaming compilation and instantiation from origin-bound Response types.

Metadata specifications

Define the format and semantics of extra information attached to a WebAssembly module

Legacy Extensions

Define extensions that are deprecated, but may still be in use.

  • Legacy Exception Handling: defines additional instructions for exception handling that may still be available in some engines and tools, specifically web browsers.

All Versions