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
Added new conversion instructions that avoid trapping when converting a floating-point number to an integer. [#proposal-cvtsat]_
@@ -32,7 +32,7 @@ Added new conversion instructions that avoid trapping when converting a floating
32
32
33
33
.. index:: block, function, value type, result type
34
34
35
-
Multiple values
35
+
Multiple Values
36
36
...............
37
37
38
38
Generalized the result type of blocks and functions to allow for multiple values; in addition, introduced the ability to have block parameters. [#proposal-multivalue]_
@@ -44,7 +44,7 @@ Generalized the result type of blocks and functions to allow for multiple values
44
44
45
45
.. index:: value type, reference, reference type, instruction, element segment
46
46
47
-
Reference types
47
+
Reference Types
48
48
...............
49
49
50
50
Added |FUNCREF| and |EXTERNREF| as new value types and respective instructions. [#proposal-reftype]_
@@ -60,7 +60,7 @@ Added |FUNCREF| and |EXTERNREF| as new value types and respective instructions.
60
60
61
61
.. index:: reference, instruction, table, table type
62
62
63
-
Table instructions
63
+
Table Instructions
64
64
..................
65
65
66
66
Added instructions to directly access and modify tables. [#proposal-reftype]_
@@ -72,7 +72,7 @@ Added instructions to directly access and modify tables. [#proposal-reftype]_
72
72
73
73
.. index:: table, instruction, table index, element segment, import, export
74
74
75
-
Multiple tables
75
+
Multiple Tables
76
76
...............
77
77
78
78
Added the ability to use multiple tables per module. [#proposal-reftype]_
@@ -86,7 +86,7 @@ Added the ability to use multiple tables per module. [#proposal-reftype]_
86
86
87
87
.. index:: instruction, table, memory, data segment, element segment
88
88
89
-
Bulk memory and table instructions
89
+
Bulk Memory and Table Instructions
90
90
..................................
91
91
92
92
Added instructions that modify ranges of memory or table entries. [#proposal-reftype]_ [#proposal-bulk]_
@@ -106,7 +106,7 @@ Added instructions that modify ranges of memory or table entries. [#proposal-ref
106
106
107
107
.. index:: instructions, SIMD, value type, vector type
108
108
109
-
Vector instructions
109
+
Vector Instructions
110
110
...................
111
111
112
112
Added vector type and instructions that manipulate multiple numeric values in parallel (also known as *SIMD*, single instruction multiple data) [#proposal-vectype]_
@@ -160,90 +160,89 @@ Added vector type and instructions that manipulate multiple numeric values in pa
160
160
Release 3.0
161
161
~~~~~~~~~~~
162
162
163
-
.. index: instruction, function, call
163
+
.. index: instruction, expression, constant
164
164
165
-
Tail Calls
166
-
..........
165
+
Extended Constant Expressions
166
+
.............................
167
167
168
-
Added instructions to perform tail calls [#proposal-tailcall]_.
168
+
Allowed basic numeric computations in constant expressions. [#proposal-extconst]_
169
169
170
-
* New :ref:`control instructions <syntax-instr-control>`::math:`RETURNCALL` and :math:`RETURNCALLINDIRECT`
170
+
* Extended set of :ref:`constant instructions <valid-const>` with :math:`\K{i}\X{nn}\K{.add}`,:math:`\K{i}\X{nn}\K{.sub}`, and :math:`\K{i}\X{nn}\K{.mul}`, and |GLOBALGET| for any previously declared immutable :ref:`global <syntax-global>`
171
171
172
+
.. note::
173
+
The :ref:`garbage collection <extension-gc>` added further constant instructions.
172
174
173
-
.. index:: reference, reference type, heap type, value type, local, local type, instruction, instruction type, table, function, function type, matching, subtyping
174
175
175
-
Typeful References
176
-
..................
177
-
178
-
Added more precise types for references [#proposal-typedref]_.
176
+
.. index: instruction, function, call
179
177
180
-
* New generalised form of :ref:`reference types <syntax-reftype>`: :math:`(\REF~\NULL^?~\heaptype)`
178
+
Tail Calls
179
+
..........
181
180
182
-
* New class of :ref:`heap types <syntax-heaptype>`: |FUNC|, |EXTERN|, :math:`\typeidx`
181
+
Added instructions to perform tail calls. [#proposal-tailcall]_
183
182
184
-
* Basic:ref:`subtyping <match>` on :ref:`reference <match-reftype>` and :ref:`value <match-valtype>` types
183
+
* New:ref:`control instructions <syntax-instr-control>`: |RETURNCALL| and |RETURNCALLINDIRECT|
185
184
186
-
* New :ref:`reference instructions <syntax-instr-ref>`: |REFASNONNULL|, |BRONNULL|, |BRONNONNULL|
187
185
188
-
* New :ref:`control instruction<syntax-instr-control>`: |CALLREF|
186
+
.. index::instruction, exception, reference type, tag type, tag, handler
189
187
190
-
* Refined typing of :ref:`reference instruction <syntax-instr-ref>` |REFFUNC| with more precise result type
188
+
Exception Handling
189
+
..................
191
190
192
-
* Refined typing of :ref:`local instructions <valid-instr-variable>` and :ref:`instruction sequences <valid-instr-seq>` to track the :ref:`initialization status <syntax-init>` of :ref:`locals <syntax-local>` with non-:ref:`defaultable <valid-defaultable>` type
191
+
Added tag definitions, imports, and exports, and instructions to throw and catch exceptions [#proposal-exn]_
193
192
194
-
* Extended :ref:`table definitions <syntax-table>` with optional initializer expression
193
+
* Modules may :ref:`define <syntax-tagtype>`, :ref:`import <syntax-import>`, and :ref:`export <syntax-export>` tags.
195
194
195
+
* New :ref:`heap types <syntax-heaptype>`: |EXN|, |NOEXN|
196
196
197
-
.. index:: reference, reference type, heap type, field type, storage type, structure type, array type, composite type, sub type, recursive type
197
+
* New :ref:`referencetype<syntax-reftype>` short-hands: |EXNREF|, |NULLEXNREF|
198
198
199
-
Garbage Collection
200
-
..................
199
+
* New :ref:`control instructions <syntax-instr-control>`: |THROW|, |THROWREF|, and |TRYTABLE|.
201
200
202
-
Added managed reference types [#proposal-gc]_.
201
+
* New :ref:`tag section <binary-tagsec>` in binary format.
203
202
204
-
* New forms of :ref:`heap types <syntax-heaptype>`: |ANY|, |EQT|, |I31|, |STRUCT|, |ARRAY|, |NONE|, |NOFUNC|, |NOEXTERN|
205
203
206
-
* New :ref:`reference type <syntax-reftype>` short-hands: |ANYREF|, |EQREF|, |I31REF|, |STRUCTREF|, |ARRAYREF|, |NULLREF|, |NULLFUNCREF|, |NULLEXTERNREF|
204
+
.. index: instruction, memory, memory index, data segment, import, export
207
205
208
-
* New forms of type definitions: :ref:`structure <syntax-structtype>` and :ref:`array types <syntax-arraytype>`, :ref:`sub types <syntax-subtype>`, and :ref:`recursive types <syntax-rectype>`
206
+
Multiple Memories
207
+
.................
209
208
210
-
* Enriched :ref:`subtyping <match>` based on explicitly declared :ref:`sub types <syntax-subtype>` and the new heap types
209
+
Added the ability to use multiple memories per module. [#proposal-multimem]_
* New :ref:`reference instructions <syntax-instr-ref>` for converting :ref:`host types <syntax-externtype>`: |ANYCONVERTEXTERN|, |EXTERNCONVERTANY|
218
+
.. index:: reference, reference type, heap type, value type, local, local type, instruction, instruction type, table, function, function type, matching, subtyping
221
219
222
-
* Extended set of :ref:`constant instructions <valid-const>` with |REFI31|, |STRUCTNEW|, |STRUCTNEWDEFAULT|, |ARRAYNEW|, |ARRAYNEWDEFAULT|, |ARRAYNEWFIXED|, |ANYCONVERTEXTERN|, |EXTERNCONVERTANY|, and |GLOBALGET| for any previously declared immutable :ref:`global <syntax-global>`
220
+
Typeful References
221
+
..................
223
222
223
+
Added more precise types for references. [#proposal-typedref]_
224
224
225
-
.. index:: instruction, exception, reference type, tag type, tag, handler
225
+
* New generalised form of :ref:`reference types <syntax-reftype>`: :math:`(\REF~\NULL^?~\heaptype)`
226
226
227
-
Exception Handling
228
-
..................
227
+
* New class of :ref:`heap types <syntax-heaptype>`: |FUNC|, |EXTERN|, :math:`\typeidx`
229
228
230
-
Added tag definitions, imports, and exports, and instructions to throw and catch exceptions [#proposal-exn]_
229
+
* Basic :ref:`subtyping <match>` on :ref:`reference <match-reftype>` and :ref:`value <match-valtype>` types
231
230
232
-
* Modules may :ref:`define <syntax-tagtype>`, :ref:`import <syntax-import>`, and :ref:`export <syntax-export>` tags.
231
+
* New :ref:`reference instructions <syntax-instr-ref>`: |REFASNONNULL|, |BRONNULL|, |BRONNONNULL|
233
232
234
-
* New :ref:`heap types<syntax-heaptype>`: |EXN|, |NOEXN|
233
+
* New :ref:`control instruction<syntax-instr-control>`: |CALLREF|
235
234
236
-
* New :ref:`reference type<syntax-reftype>` short-hands: |EXNREF|, |NULLEXNREF|
235
+
* Refined typing of :ref:`reference instruction<syntax-instr-ref>` |REFFUNC| with more precise result type
237
236
238
-
* New :ref:`control instructions <syntax-instr-control>`: |THROW|, |THROWREF|, and |TRYTABLE|.
237
+
* Refined typing of :ref:`local instructions <valid-instr-variable>` and :ref:`instruction sequences <valid-instr-seq>` to track the :ref:`initialization status <syntax-init>` of :ref:`locals <syntax-local>` with non-:ref:`defaultable <valid-defaultable>` type
239
238
240
-
* New:ref:`tag section <binary-tagsec>` in binary format.
239
+
* Extended:ref:`table definitions <syntax-table>` with optional initializer expression
241
240
242
241
243
242
.. index:: reference, reference type, heap type, field type, storage type, structure type, array type, composite type, sub type, recursive type
0 commit comments