diff options
author | Asumu Takikawa <asumu@igalia.com> | 2021-02-18 07:09:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-18 07:09:32 -0800 |
commit | ffb22e3c900e8246d806d2e9a765dc14251b33e8 (patch) | |
tree | 45c7d2caef95ac03b237e8b3c2f29fe1db9686b6 /src/interp/interp.cc | |
parent | 036a632a24679062e7fc891e7743195139bfa0a9 (diff) | |
download | wabt-ffb22e3c900e8246d806d2e9a765dc14251b33e8.tar.gz wabt-ffb22e3c900e8246d806d2e9a765dc14251b33e8.tar.bz2 wabt-ffb22e3c900e8246d806d2e9a765dc14251b33e8.zip |
Update rethrow depth handling and catch_all opcode (#1608)
Give `catch_all` its own opcode:
Previously `catch_all` shared an opcode with `else`, but
the spec now allocates it the 0x19 opcode.
Adjust rethrow depth semantics:
Previously this had interpreted the rethrow depth argument
as counting only catch blocks, but the spec has clarified that
it should count all blocks (in a similar fashion as `br` and
related instructions).
Diffstat (limited to 'src/interp/interp.cc')
-rw-r--r-- | src/interp/interp.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/interp/interp.cc b/src/interp/interp.cc index ce1897bb..5988be1e 100644 --- a/src/interp/interp.cc +++ b/src/interp/interp.cc @@ -1736,6 +1736,7 @@ RunResult Thread::StepInternal(Trap::Ptr* out_trap) { case O::Try: case O::Catch: + case O::CatchAll: case O::Unwind: case O::Delegate: case O::Throw: |