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
* 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>`
Added instructions to perform tail calls [#proposal-tailcall]_.
224
-
225
-
* New :ref:`control instructions <syntax-instr-control>`: :math:`RETURNCALL` and :math:`RETURNCALLINDIRECT`
226
-
227
-
228
-
.. index:: reference, reference type, heap type, value type, local, local type, instruction, instruction type, table, function, function type, matching, subtyping
229
-
230
-
Typeful References
227
+
Exception Handling
231
228
..................
232
229
233
-
Added more precise types for references [#proposal-typedref]_.
234
-
235
-
* New generalised form of :ref:`reference types <syntax-reftype>`: :math:`(\REF~\NULL^?~\heaptype)`
236
-
237
-
* New class of :ref:`heap types <syntax-heaptype>`: |FUNC|, |EXTERN|, :math:`\typeidx`
230
+
Added tag definitions, imports, and exports, and instructions to throw and catch exceptions [#proposal-exn]_
238
231
239
-
* Basic :ref:`subtyping <match>` on :ref:`reference <match-reftype>` and :ref:`value <match-valtype>` types
232
+
* Modules may :ref:`define <syntax-tagtype>`, :ref:`import <syntax-import>`, and :ref:`export <syntax-export>` tags.
240
233
241
-
* New :ref:`reference instructions<syntax-instr-ref>`: |REFASNONNULL|, |BRONNULL|, |BRONNONNULL|
234
+
* New :ref:`heap types<syntax-heaptype>`: |EXN|, |NOEXN|
242
235
243
-
* New :ref:`control instruction<syntax-instr-control>`: |CALLREF|
236
+
* New :ref:`reference type<syntax-reftype>` short-hands: |EXNREF|, |NULLEXNREF|
244
237
245
-
* Refined typing of :ref:`reference instruction<syntax-instr-ref>` |REFFUNC| with more precise result type
238
+
* New :ref:`control instructions<syntax-instr-control>`: |THROW|, |THROWREF|, and |TRYTABLE|.
246
239
247
-
* 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
248
-
249
-
* Extended :ref:`table definitions <syntax-table>` with optional initializer expression
240
+
* New :ref:`tag section <binary-tagsec>` in binary format.
250
241
251
242
252
243
.. [#proposal-tailcall]
@@ -257,3 +248,6 @@ Added more precise types for references [#proposal-typedref]_.
Copy file name to clipboardExpand all lines: document/core/appendix/embedding.rst
+26-4Lines changed: 26 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ Failure of an interface operation is indicated by an auxiliary syntactic class:
49
49
\production{error} & \error &::=& \ERROR \\
50
50
\end{array}
51
51
52
-
In addition to the error conditions specified explicitly in this section, implementations may also return errors when specific :ref:`implementation limitations <impl>` are reached.
52
+
In addition to the error conditions specified explicitly in this section, such as invalid arguments or :ref:`exceptions <exception>` and :ref:`traps <trap>` resulting from :ref:`execution <exec>`, implementations may also return errors when specific :ref:`implementation limitations <impl>` are reached.
53
53
54
54
.. note::
55
55
Errors are abstract and unspecific with this definition.
0 commit comments