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
{{ message }}
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
Copy file name to clipboardExpand all lines: document/core/binary/types.rst
+2-2
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,8 @@ Types
6
6
-----
7
7
8
8
.. note::
9
-
In future versions of WebAssembly, value types may include types denoted by :ref:`type indices <syntax-typeidx>`.
10
-
Thus, the binary format for types corresponds to the encodings of small negative :math:`\xref{binary/values}{binary-sint}{\sN}` values, so that they can coexist with (positive) type indices in the future.
9
+
In some places, possible types include both type constructors or types denoted by :ref:`type indices <syntax-typeidx>`.
10
+
Thus, the binary format for type constructors corresponds to the encodings of small negative :math:`\xref{binary/values}{binary-sint}{\sN}` values, such that they can unambiguously occur in the same place as (positive) type indices.
Copy file name to clipboardExpand all lines: document/core/exec/instructions.rst
+5-5
Original file line number
Diff line number
Diff line change
@@ -1677,7 +1677,7 @@ Memory Instructions
1677
1677
1678
1678
9. If :math:`N` is not part of the instruction, then:
1679
1679
1680
-
a. Let :math:`N` be the :ref:`bit width <syntax-valtype>` :math:`|t|` of :ref:`value type <syntax-valtype>` :math:`t`.
1680
+
a. Let :math:`N` be the :ref:`bit width <syntax-numtype>` :math:`|t|` of :ref:`number type <syntax-numtype>` :math:`t`.
1681
1681
1682
1682
10. If :math:`\X{ea} + N/8` is larger than the length of :math:`\X{mem}.\MIDATA`, then:
1683
1683
@@ -1992,7 +1992,7 @@ Memory Instructions
1992
1992
1993
1993
11. If :math:`N` is not part of the instruction, then:
1994
1994
1995
-
a. Let :math:`N` be the :ref:`bit width <syntax-valtype>` :math:`|t|` of :ref:`value type <syntax-valtype>` :math:`t`.
1995
+
a. Let :math:`N` be the :ref:`bit width <syntax-numtype>` :math:`|t|` of :ref:`number type <syntax-numtype>` :math:`t`.
1996
1996
1997
1997
12. If :math:`\X{ea} + N/8` is larger than the length of :math:`\X{mem}.\MIDATA`, then:
1998
1998
@@ -2403,15 +2403,15 @@ Memory Instructions
2403
2403
2404
2404
10. Assert: due to :ref:`validation <valid-memory.init>`, a value of :ref:`value type <syntax-valtype>` |I32| is on the top of the stack.
2405
2405
2406
-
11. Pop the value :math:`\I32.\CONST~cnt` from the stack.
2406
+
11. Pop the value :math:`\I32.\CONST~n` from the stack.
2407
2407
2408
2408
12. Assert: due to :ref:`validation <valid-memory.init>`, a value of :ref:`value type <syntax-valtype>` |I32| is on the top of the stack.
2409
2409
2410
-
13. Pop the value :math:`\I32.\CONST~src` from the stack.
2410
+
13. Pop the value :math:`\I32.\CONST~s` from the stack.
2411
2411
2412
2412
14. Assert: due to :ref:`validation <valid-memory.init>`, a value of :ref:`value type <syntax-valtype>` |I32| is on the top of the stack.
2413
2413
2414
-
15. Pop the value :math:`\I32.\CONST~dst` from the stack.
2414
+
15. Pop the value :math:`\I32.\CONST~d` from the stack.
2415
2415
2416
2416
16. If :math:`s + n` is larger than the length of :math:`\X{data}.\DIDATA` or :math:`d + n` is larger than the length of :math:`\X{mem}.\MIDATA`, then:
Copy file name to clipboardExpand all lines: document/core/exec/modules.rst
+8-8
Original file line number
Diff line number
Diff line change
@@ -468,17 +468,17 @@ and list of :ref:`reference <syntax-ref>` vectors for the module's :ref:`element
468
468
469
469
a. Let :math:`\dataaddr_i` be the :ref:`data address <syntax-dataaddr>` resulting from :ref:`allocating <alloc-data>` a :ref:`data instance <syntax-datainst>` with contents :math:`\data_i.\DINIT`.
470
470
471
-
8. Let :math:`\funcaddr^\ast` be the the concatenation of the :ref:`function addresses <syntax-funcaddr>` :math:`\funcaddr_i` in index order.
471
+
8. Let :math:`\funcaddr^\ast` be the concatenation of the :ref:`function addresses <syntax-funcaddr>` :math:`\funcaddr_i` in index order.
472
472
473
-
9. Let :math:`\tableaddr^\ast` be the the concatenation of the :ref:`table addresses <syntax-tableaddr>` :math:`\tableaddr_i` in index order.
473
+
9. Let :math:`\tableaddr^\ast` be the concatenation of the :ref:`table addresses <syntax-tableaddr>` :math:`\tableaddr_i` in index order.
474
474
475
-
10. Let :math:`\memaddr^\ast` be the the concatenation of the :ref:`memory addresses <syntax-memaddr>` :math:`\memaddr_i` in index order.
475
+
10. Let :math:`\memaddr^\ast` be the concatenation of the :ref:`memory addresses <syntax-memaddr>` :math:`\memaddr_i` in index order.
476
476
477
-
11. Let :math:`\globaladdr^\ast` be the the concatenation of the :ref:`global addresses <syntax-globaladdr>` :math:`\globaladdr_i` in index order.
477
+
11. Let :math:`\globaladdr^\ast` be the concatenation of the :ref:`global addresses <syntax-globaladdr>` :math:`\globaladdr_i` in index order.
478
478
479
-
12. Let :math:`\elemaddr^\ast` be the the concatenation of the :ref:`element addresses <syntax-elemaddr>` :math:`\elemaddr_i` in index order.
479
+
12. Let :math:`\elemaddr^\ast` be the concatenation of the :ref:`element addresses <syntax-elemaddr>` :math:`\elemaddr_i` in index order.
480
480
481
-
13. Let :math:`\dataaddr^\ast` be the the concatenation of the :ref:`data addresses <syntax-dataaddr>` :math:`\dataaddr_i` in index order.
481
+
13. Let :math:`\dataaddr^\ast` be the concatenation of the :ref:`data addresses <syntax-dataaddr>` :math:`\dataaddr_i` in index order.
482
482
483
483
14. Let :math:`\funcaddr_{\F{mod}}^\ast` be the list of :ref:`function addresses <syntax-funcaddr>` extracted from :math:`\externval_{\F{im}}^\ast`, concatenated with :math:`\funcaddr^\ast`.
484
484
@@ -500,7 +500,7 @@ and list of :ref:`reference <syntax-ref>` vectors for the module's :ref:`element
500
500
501
501
e. Let :math:`\exportinst_i` be the :ref:`export instance <syntax-exportinst>` :math:`\{\EINAME~(\export_i.\ENAME), \EIVALUE~\externval_i\}`.
502
502
503
-
19. Let :math:`\exportinst^\ast` be the the concatenation of the :ref:`export instances <syntax-exportinst>` :math:`\exportinst_i` in index order.
503
+
19. Let :math:`\exportinst^\ast` be the concatenation of the :ref:`export instances <syntax-exportinst>` :math:`\exportinst_i` in index order.
504
504
505
505
20. Let :math:`\moduleinst` be the :ref:`module instance <syntax-moduleinst>` :math:`\{\MITYPES~(\module.\MTYPES),` :math:`\MIFUNCS~\funcaddr_{\F{mod}}^\ast,` :math:`\MITABLES~\tableaddr_{\F{mod}}^\ast,` :math:`\MIMEMS~\memaddr_{\F{mod}}^\ast,` :math:`\MIGLOBALS~\globaladdr_{\F{mod}}^\ast,` :math:`\MIEXPORTS~\exportinst^\ast\}`.
506
506
@@ -635,7 +635,7 @@ It is up to the :ref:`embedder <embedder>` to define how such conditions are rep
635
635
636
636
b. Assert: due to :ref:`validation <valid-module>`, the frame :math:`F_{\F{init}}` is now on the top of the stack.
637
637
638
-
c. Let :math:`\val^\ast` be the conatenation of :math:`\val_i` in index order.
638
+
c. Let :math:`\val^\ast` be the concatenation of :math:`\val_i` in index order.
639
639
640
640
9. Let :math:`(\reff^\ast)^\ast` be the list of :ref:`reference <syntax-ref>` vectors determined by the :ref:`element segments <syntax-elem>` in :math:`\module`. These may be calculated as follows.
Copy file name to clipboardExpand all lines: document/core/syntax/instructions.rst
+5-5
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ The following sections group instructions into a number of different categories.
35
35
Numeric Instructions
36
36
~~~~~~~~~~~~~~~~~~~~
37
37
38
-
Numeric instructions provide basic operations over numeric :ref:`values <syntax-value>` of specific :ref:`type <syntax-valtype>`.
38
+
Numeric instructions provide basic operations over numeric :ref:`values <syntax-value>` of specific :ref:`type <syntax-numtype>`.
39
39
These operations closely match respective operations available in hardware.
40
40
41
41
.. math::
@@ -118,7 +118,7 @@ These operations closely match respective operations available in hardware.
118
118
\K{ge} \\
119
119
\end{array}
120
120
121
-
Numeric instructions are divided by :ref:`value type <syntax-valtype>`.
121
+
Numeric instructions are divided by :ref:`number type <syntax-numtype>`.
122
122
For each type, several subcategories can be distinguished:
123
123
124
124
* *Constants*: return a static constant.
@@ -574,9 +574,9 @@ Instructions in this group are concerned with linear :ref:`memory <syntax-mem>`.
574
574
\DATADROP~\dataidx \\
575
575
\end{array}
576
576
577
-
Memory is accessed with |LOAD| and |STORE| instructions for the different :ref:`value types <syntax-valtype>`.
577
+
Memory is accessed with |LOAD| and |STORE| instructions for the different :ref:`number types <syntax-numtype>`.
578
578
They all take a *memory immediate* |memarg| that contains an address *offset* and the expected *alignment* (expressed as the exponent of a power of 2).
579
-
Integer loads and stores can optionally specify a *storage size* that is smaller than the :ref:`bit width <syntax-valtype>` of the respective value type.
579
+
Integer loads and stores can optionally specify a *storage size* that is smaller than the :ref:`bit width <syntax-numtype>` of the respective value type.
580
580
In the case of loads, a sign extension mode |sx| is then required to select appropriate behavior.
581
581
582
582
Vector loads can specify a shape that is half the :ref:`bit width <syntax-valtype>` of |V128|. Each lane is half its usual size, and the sign extension mode |sx| then specifies how the smaller lane is extended to the larger lane.
@@ -604,7 +604,7 @@ The |DATADROP| instruction prevents further use of a passive data segment. This
604
604
This restriction may be lifted in future versions.
605
605
606
606
607
-
.. index:: ! control instruction, ! structured control, ! label, ! block, ! block type, ! branch, ! unwinding, result type, label index, function index, type index, vector, trap, function, table, function type, value type, type index
607
+
.. index:: ! control instruction, ! structured control, ! label, ! block, ! block type, ! branch, ! unwinding, stack type, label index, function index, type index, vector, trap, function, table, function type, value type, type index
0 commit comments