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
Update formal spec to implement the 3rd EH proposal without prose. (WebAssembly#180)
* Update core formal spec to the current (3rd) EH proposal
As described in `proposals/exceptions/Exceptions.md` and in
`proposals/exceptions/Exceptions-formal-overview.md`.
* Detailed changes from the previous (2nd proposal) formal spec:
- Removed:
+ the reference type "exnref" is removed,
+ the administrative instruction "REFEXNADDR" is removed,
+ Release dependencies "bulk instructions" and "reference types" are removed.
- Renamed:
+ "exn" and (most occurrences of) "exception" renamed to "tag",
+ "EITYPE" renamed to "TAGITYPE",
+ "ETYPE" renamed to "TAGTYPE",
+ variable names for tags changed from "et" to "tt" or "tagt" and "iet" to "itagt",
+ "CATCHN" is renamed to "CATCHadm".
+ "THROWADDR" is renamed to "THROWadm".
- Adjusted:
+ syntax and rules for "TRY-CATCH", "RETHROW", and "CATCHadm",
+ folded text format for "TRY-CATCH",
+ validation example of control frame with opcode catch.
- Added:
+ validation example of control frame with opcode catch_all,
+ administrative instructions "CAUGHTadm" and "DELEGATEadm" with rules,
+ syntax and rules for "TRY-DELEGATE".
- Most prose that is changing in the 3rd spec is removed and several temporary `..todo::` sections are added.
+ These will be updated in followup PRs.
Co-authored-by: Heejin Ahn <aheejin@gmail.com>
Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
1. Pre-condition: :math:`exntype` is :ref:`valid <valid-exntype>`.
553
+
1. Pre-condition: :math:`tagtype` is :ref:`valid <valid-tagtype>`.
554
554
555
-
2. Let :math:`\exnaddr` be the result of :ref:`allocating an exception<alloc-exn>` in :math:`\store` with :ref:`exception type <syntax-exntype>` :math:`\exntype`.
555
+
2. Let :math:`\tagaddr` be the result of :ref:`allocating a tag<alloc-tag>` in :math:`\store` with :ref:`tag type <syntax-tagtype>` :math:`\tagtype`.
556
556
557
-
3. Return the new store paired with :math:`\exnaddr`.
557
+
3. Return the new store paired with :math:`\tagaddr`.
0 commit comments