diff options
author | Ben Smith <binjimin@gmail.com> | 2019-02-13 16:27:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-13 16:27:24 -0800 |
commit | 19191efaf1b5b92b0357b303be1b25cf439be9a2 (patch) | |
tree | 1bd4be08904c059f809a69fff660de3a3cc5321c /src/binary-reader.h | |
parent | e448ac7cbd74f7a048b1de15ce1a2716340a57c8 (diff) | |
download | wabt-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.h | 2 |
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; |