diff options
author | Soni L. <EnderMoneyMod@gmail.com> | 2024-10-29 18:55:48 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-29 14:55:48 -0700 |
commit | 6b3b81d13559055830ad3e2867015e6fb78f7846 (patch) | |
tree | c385c98634bee47c881808d0a5e376902de1df90 /src/interp/interp.cc | |
parent | 22b8252eff251845ac27cf29cf7a9126a5a58f97 (diff) | |
download | wabt-6b3b81d13559055830ad3e2867015e6fb78f7846.tar.gz wabt-6b3b81d13559055830ad3e2867015e6fb78f7846.tar.bz2 wabt-6b3b81d13559055830ad3e2867015e6fb78f7846.zip |
interp: Handle ref.null exn (#2497)
Diffstat (limited to 'src/interp/interp.cc')
-rw-r--r-- | src/interp/interp.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/interp/interp.cc b/src/interp/interp.cc index fe333b42..97f35f81 100644 --- a/src/interp/interp.cc +++ b/src/interp/interp.cc @@ -225,6 +225,8 @@ bool Store::HasValueType(Ref ref, ValueType type) const { case ValueType::FuncRef: return obj->kind() == ObjectKind::DefinedFunc || obj->kind() == ObjectKind::HostFunc; + case ValueType::ExnRef: + return obj->kind() == ObjectKind::Exception; default: return false; } @@ -2733,8 +2735,11 @@ std::string Thread::TraceSource::Pick(Index index, Instr instr) { v.u32(2), v.u32(3)); } + // clang-format off case ValueType::FuncRef: reftype = "funcref"; break; case ValueType::ExternRef: reftype = "externref"; break; + case ValueType::ExnRef: reftype = "exnref"; break; + // clang-format on default: WABT_UNREACHABLE; |