Table of Contents
1
Introduction
1.1
Introduction
1.1.1
Design Goals
1.1.2
Scope
1.1.3
Security Considerations
1.1.4
Dependencies
1.2
Overview
1.2.1
Concepts
1.2.2
Semantic Phases
2
Structure
2.1
Conventions
2.1.1
Grammar Notation
2.1.2
Auxiliary Notation
2.1.3
Vectors
2.2
Values
2.2.1
Bytes
2.2.2
Integers
2.2.3
Floating-Point
2.2.4
Names
2.3
Types
2.3.1
Value Types
2.3.2
Result Types
2.3.3
Function Types
2.3.4
Limits
2.3.5
Memory Types
2.3.6
Table Types
2.3.7
Global Types
2.3.8
External Types
2.4
Instructions
2.4.1
Numeric Instructions
2.4.2
Parametric Instructions
2.4.3
Variable Instructions
2.4.4
Memory Instructions
2.4.5
Control Instructions
2.4.6
Expressions
2.5
Modules
2.5.1
Indices
2.5.2
Types
2.5.3
Functions
2.5.4
Tables
2.5.5
Memories
2.5.6
Globals
2.5.7
Element Segments
2.5.8
Data Segments
2.5.9
Start Function
2.5.10
Exports
2.5.11
Imports
3
Validation
3.1
Conventions
3.1.1
Contexts
3.1.2
Prose Notation
3.1.3
Formal Notation
3.2
Types
3.2.1
Limits
3.2.2
Block Types
3.2.3
Function Types
3.2.4
Table Types
3.2.5
Memory Types
3.2.6
Global Types
3.2.7
External Types
3.3
Instructions
3.3.1
Numeric Instructions
3.3.2
Parametric Instructions
3.3.3
Variable Instructions
3.3.4
Memory Instructions
3.3.5
Control Instructions
3.3.6
Instruction Sequences
3.3.7
Expressions
3.4
Modules
3.4.1
Functions
3.4.2
Tables
3.4.3
Memories
3.4.4
Globals
3.4.5
Element Segments
3.4.6
Data Segments
3.4.7
Start Function
3.4.8
Exports
3.4.9
Imports
3.4.10
Modules
4
Execution
4.1
Conventions
4.1.1
Prose Notation
4.1.2
Formal Notation
4.2
Runtime Structure
4.2.1
Values
4.2.2
Results
4.2.3
Store
4.2.4
Addresses
4.2.5
Module Instances
4.2.6
Function Instances
4.2.7
Table Instances
4.2.8
Memory Instances
4.2.9
Global Instances
4.2.10
Export Instances
4.2.11
External Values
4.2.12
Stack
4.2.13
Administrative Instructions
4.3
Numerics
4.3.1
Representations
4.3.2
Integer Operations
4.3.3
Floating-Point Operations
4.3.4
Conversions
4.4
Instructions
4.4.1
Numeric Instructions
4.4.2
Parametric Instructions
4.4.3
Variable Instructions
4.4.4
Memory Instructions
4.4.5
Control Instructions
4.4.6
Blocks
4.4.7
Function Calls
4.4.8
Expressions
4.5
Modules
4.5.1
External Typing
4.5.2
Import Matching
4.5.3
Allocation
4.5.4
Instantiation
4.5.5
Invocation
5
Binary Format
5.1
Conventions
5.1.1
Grammar
5.1.2
Auxiliary Notation
5.1.3
Vectors
5.2
Values
5.2.1
Bytes
5.2.2
Integers
5.2.3
Floating-Point
5.2.4
Names
5.3
Types
5.3.1
Value Types
5.3.2
Result Types
5.3.3
Function Types
5.3.4
Limits
5.3.5
Memory Types
5.3.6
Table Types
5.3.7
Global Types
5.4
Instructions
5.4.1
Control Instructions
5.4.2
Parametric Instructions
5.4.3
Variable Instructions
5.4.4
Memory Instructions
5.4.5
Numeric Instructions
5.4.6
Expressions
5.5
Modules
5.5.1
Indices
5.5.2
Sections
5.5.3
Custom Section
5.5.4
Type Section
5.5.5
Import Section
5.5.6
Function Section
5.5.7
Table Section
5.5.8
Memory Section
5.5.9
Global Section
5.5.10
Export Section
5.5.11
Start Section
5.5.12
Element Section
5.5.13
Code Section
5.5.14
Data Section
5.5.15
Modules
6
Text Format
6.1
Conventions
6.1.1
Grammar
6.1.2
Abbreviations
6.1.3
Contexts
6.1.4
Vectors
6.2
Lexical Format
6.2.1
Characters
6.2.2
Tokens
6.2.3
White Space
6.2.4
Comments
6.3
Values
6.3.1
Integers
6.3.2
Floating-Point
6.3.3
Strings
6.3.4
Names
6.3.5
Identifiers
6.4
Types
6.4.1
Value Types
6.4.2
Function Types
6.4.3
Limits
6.4.4
Memory Types
6.4.5
Table Types
6.4.6
Global Types
6.5
Instructions
6.5.1
Labels
6.5.2
Control Instructions
6.5.3
Parametric Instructions
6.5.4
Variable Instructions
6.5.5
Memory Instructions
6.5.6
Numeric Instructions
6.5.7
Folded Instructions
6.5.8
Expressions
6.6
Modules
6.6.1
Indices
6.6.2
Types
6.6.3
Type Uses
6.6.4
Imports
6.6.5
Functions
6.6.6
Tables
6.6.7
Memories
6.6.8
Globals
6.6.9
Exports
6.6.10
Start Function
6.6.11
Element Segments
6.6.12
Data Segments
6.6.13
Modules
7
Appendix
7.1
Embedding
7.1.1
Types
7.1.2
Errors
7.1.3
Pre- and Post-Conditions
7.1.4
Store
7.1.5
Modules
7.1.6
Module Instances
7.1.7
Functions
7.1.8
Tables
7.1.9
Memories
7.1.10
Globals
7.2
Implementation Limitations
7.2.1
Syntactic Limits
7.2.2
Validation
7.2.3
Execution
7.3
Validation Algorithm
7.3.1
Data Structures
7.3.2
Validation of Opcode Sequences
7.4
Custom Sections
7.4.1
Name Section
7.5
Soundness
7.5.1
Values and Results
7.5.2
Store Validity
7.5.3
Configuration Validity
7.5.4
Administrative Instructions
7.5.5
Store Extension
7.5.6
Theorems
@
WebAssembly Core Specification
W3C Working Draft
07 October 2021
back to top
Index of Types
Index of Instructions
Index of Semantic Rules
Index
Quick search
1
Introduction
¶
1.1
Introduction
1.1.1
Design Goals
1.1.2
Scope
1.1.3
Security Considerations
1.1.4
Dependencies
1.2
Overview
1.2.1
Concepts
1.2.2
Semantic Phases