summaryrefslogtreecommitdiff
path: root/src/binary-reader.h
diff options
context:
space:
mode:
authorBen Smith <binjimin@gmail.com>2019-02-13 16:27:24 -0800
committerGitHub <noreply@github.com>2019-02-13 16:27:24 -0800
commit19191efaf1b5b92b0357b303be1b25cf439be9a2 (patch)
tree1bd4be08904c059f809a69fff660de3a3cc5321c /src/binary-reader.h
parente448ac7cbd74f7a048b1de15ce1a2716340a57c8 (diff)
downloadwabt-19191efaf1b5b92b0357b303be1b25cf439be9a2.tar.gz
wabt-19191efaf1b5b92b0357b303be1b25cf439be9a2.tar.bz2
wabt-19191efaf1b5b92b0357b303be1b25cf439be9a2.zip
Add br_on_exn instruction (#1016)
It takes two u32 immediates: the branch depth and an exception index. The stack signature is `[expect_ref] -> [except_ref]`, so the `except_ref` can be tested easily against multiple exception types.
Diffstat (limited to 'src/binary-reader.h')
-rw-r--r--src/binary-reader.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/binary-reader.h b/src/binary-reader.h
index 46424977..2a1f324d 100644
--- a/src/binary-reader.h
+++ b/src/binary-reader.h
@@ -178,6 +178,7 @@ class BinaryReaderDelegate {
virtual Result OnOpcodeBare() = 0;
virtual Result OnOpcodeUint32(uint32_t value) = 0;
virtual Result OnOpcodeIndex(Index value) = 0;
+ virtual Result OnOpcodeIndexIndex(Index value, Index value2) = 0;
virtual Result OnOpcodeUint32Uint32(uint32_t value, uint32_t value2) = 0;
virtual Result OnOpcodeUint64(uint64_t value) = 0;
virtual Result OnOpcodeF32(uint32_t value) = 0;
@@ -206,6 +207,7 @@ class BinaryReaderDelegate {
virtual Result OnBlockExpr(Type sig_type) = 0;
virtual Result OnBrExpr(Index depth) = 0;
virtual Result OnBrIfExpr(Index depth) = 0;
+ virtual Result OnBrOnExnExpr(Index depth, Index event_index) = 0;
virtual Result OnBrTableExpr(Index num_targets,
Index* target_depths,
Index default_target_depth) = 0;