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
Copy file name to clipboardExpand all lines: document/README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
This directory contains the source code for the WebAssembly spec documents, as served from the [webassembly.github.io/spec](https://webassembly.github.io/spec) pages.
4
4
It uses [Sphinx](http://www.sphinx-doc.org/) and [Bikeshed](https://github.com/tabatkins/bikeshed).
5
5
6
-
To install Sphinx:
6
+
To install Sphinx (and required library six):
7
7
```
8
-
pip install sphinx
8
+
pip install sphinx six
9
9
```
10
10
11
11
To install Bikeshed, see the instructions [here](https://tabatkins.github.io/bikeshed/#installing).
Copy file name to clipboardExpand all lines: document/core/appendix/algorithm.rst
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,6 +140,8 @@ The type of the :ref:`label <syntax-label>` associated with a control frame is e
140
140
141
141
Finally, the current frame can be marked as unreachable.
142
142
In that case, all existing operand types are purged from the value stack, in order to allow for the :ref:`stack-polymorphism <polymorphism>` logic in :code:`pop_val` to take effect.
143
+
Because every function has an implicit outermost label that corresponds to an implicit block frame,
144
+
it is an invariant of the validation algorithm that there always is at least one frame on the control stack when validating an instruction, and hence, `ctrls[0]` is always defined.
143
145
144
146
.. note::
145
147
Even with the unreachable flag set, consecutive operands are still pushed to and popped from the operand stack.
Copy file name to clipboardExpand all lines: document/core/appendix/embedding.rst
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ Failure of an interface operation is indicated by an auxiliary syntactic class:
33
33
34
34
.. math::
35
35
\begin{array}{llll}
36
-
\production{(error)} & \error &::=& \ERROR \\
36
+
\production{error} & \error &::=& \ERROR \\
37
37
\end{array}
38
38
39
39
In addition to the error conditions specified explicitly in this section, implementations may also return errors when specific :ref:`implementation limitations <impl>` are reached.
@@ -50,7 +50,7 @@ Some operations state *pre-conditions* about their arguments or *post-conditions
50
50
It is the embedder's responsibility to meet the pre-conditions.
51
51
If it does, the post conditions are guaranteed by the semantics.
52
52
53
-
In addition to pre- and post-conditions explicitly stated with each operation, the specification adopts the following conventions for :ref:`runtime objects <syntax-runtime>` (:math:`store`, :math:`\moduleinst`, :math:`\externval`, :ref:`addresses <syntax-addr>`):
53
+
In addition to pre- and post-conditions explicitly stated with each operation, the specification adopts the following conventions for :ref:`runtime objects <syntax-runtime>` (:math:`\store`, :math:`\moduleinst`, :math:`\externval`, :ref:`addresses <syntax-addr>`):
54
54
55
55
* Every runtime object passed as a parameter must be :ref:`valid <valid-store>` per an implicit pre-condition.
1. Pre-condition: :math:`\functype` is :math:`valid <valid-functype>`.
261
+
1. Pre-condition: :math:`\functype` is :ref:`valid <valid-functype>`.
262
262
263
263
2. Let :math:`\funcaddr` be the result of :ref:`allocating a host function <alloc-func>` in :math:`\store` with :ref:`function type <syntax-functype>` :math:`\functype` and host function code :math:`\hostfunc`.
1. Pre-condition: :math:`\tabletype` is :math:`valid <valid-tabletype>`.
329
+
1. Pre-condition: :math:`\tabletype` is :ref:`valid <valid-tabletype>`.
330
330
331
331
2. Let :math:`\tableaddr` be the result of :ref:`allocating a table <alloc-table>` in :math:`\store` with :ref:`table type <syntax-tabletype>` :math:`\tabletype` and initialization value :math:`\reff`.
332
332
@@ -345,7 +345,7 @@ Tables
345
345
346
346
1. Return :math:`S.\STABLES[a].\TITYPE`.
347
347
348
-
2. Post-condition: the returned :ref:`table type <syntax-tabletype>` is :math:`valid <valid-tabletype>`.
348
+
2. Post-condition: the returned :ref:`table type <syntax-tabletype>` is :ref:`valid <valid-tabletype>`.
1. Pre-condition: :math:`\memtype` is :math:`valid <valid-memtype>`.
441
+
1. Pre-condition: :math:`\memtype` is :ref:`valid <valid-memtype>`.
442
442
443
443
2. Let :math:`\memaddr` be the result of :ref:`allocating a memory <alloc-mem>` in :math:`\store` with :ref:`memory type <syntax-memtype>` :math:`\memtype`.
444
444
@@ -457,7 +457,7 @@ Memories
457
457
458
458
1. Return :math:`S.\SMEMS[a].\MITYPE`.
459
459
460
-
2. Post-condition: the returned :ref:`memory type <syntax-memtype>` is :math:`valid <valid-memtype>`.
460
+
2. Post-condition: the returned :ref:`memory type <syntax-memtype>` is :ref:`valid <valid-memtype>`.
1. Pre-condition: :math:`\globaltype` is :math:`valid <valid-globaltype>`.
554
+
1. Pre-condition: :math:`\globaltype` is :ref:`valid <valid-globaltype>`.
555
555
556
556
2. Let :math:`\globaladdr` be the result of :ref:`allocating a global <alloc-global>` in :math:`\store` with :ref:`global type <syntax-globaltype>` :math:`\globaltype` and initialization value :math:`\val`.
557
557
@@ -570,7 +570,7 @@ Globals
570
570
571
571
1. Return :math:`S.\SGLOBALS[a].\GITYPE`.
572
572
573
-
2. Post-condition: the returned :ref:`global type <syntax-globaltype>` is :math:`valid <valid-globaltype>`.
573
+
2. Post-condition: the returned :ref:`global type <syntax-globaltype>` is :ref:`valid <valid-globaltype>`.
0 commit comments