Bug
1695778 - (Core-Wasm-EH-Ion) part 4: Support reftypes in exceptions. r=rhunt
This patch concludes support for the WebAssembly Exception Handling proposal.
Spec: https://github.com/WebAssembly/exception-handling
Changes:
- Mirroring the Baseline approach, and the Ion approach for numeric values,
this patch adds two MIR and LIR nodes:
- WasmExceptionRefsPointer to get a pointer to the ArrayObject REFS of a
WasmExceptionObject, and
- WasmLoadExceptionRefsValue to get a RefOrNull value from a
WasmExceptionRefsPointer
- Storing a RefOrNull value in the exception is done via the instance call
SASigPushRefIntoExn. Since this pushes the value in the Refs Array, we
iterate backwards.
- The above mentioned instance call is changed to follow this review
comment on part 1 of this patchset:
https://phabricator.services.mozilla.com/
D118283#inline-716841
- Enables all tests in .../wasm/exceptions/, and adds reftypes in some
existing tests.
Differential Revision: https://phabricator.services.mozilla.com/
D132637