You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[interpreter] Simplify zero-len and drop semantics (WebAssembly#126)
* [interpreter] Simplify zero-len and drop semantics
* Update overview
* [spec] Change drop semantics
* [spec] Forgot to adjust prose for *.init ops
* [test] Update generated tests for OOBs and dropping changes (WebAssembly#131)
Copy file name to clipboardExpand all lines: document/core/exec/runtime.rst
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,7 +75,6 @@ Store
75
75
The *store* represents all global state that can be manipulated by WebAssembly programs.
76
76
It consists of the runtime representation of all *instances* of :ref:`functions <syntax-funcinst>`, :ref:`tables <syntax-tableinst>`, :ref:`memories <syntax-meminst>`, and :ref:`globals <syntax-globalinst>`, :ref:`element segments <syntax-eleminst>`, and :ref:`data segments <syntax-datainst>` that have been :ref:`allocated <alloc>` during the life time of the abstract machine. [#gc]_
77
77
78
-
Element and data segments can be dropped by the owning module, in which case the respective instances are replaced with :math:`\epsilon`.
79
78
It is an invariant of the semantics that no element or data instance is :ref:`addressed <syntax-addr>` from anywhere else but the owning module instances.
80
79
81
80
Syntactically, the store is defined as a :ref:`record <notation-record>` listing the existing instances of each category:
@@ -88,8 +87,8 @@ Syntactically, the store is defined as a :ref:`record <notation-record>` listing
0 commit comments