summaryrefslogtreecommitdiff
path: root/src/interp/interp.cc
diff options
context:
space:
mode:
authorSoni L. <EnderMoneyMod@gmail.com>2024-10-29 18:55:48 -0300
committerGitHub <noreply@github.com>2024-10-29 14:55:48 -0700
commit6b3b81d13559055830ad3e2867015e6fb78f7846 (patch)
treec385c98634bee47c881808d0a5e376902de1df90 /src/interp/interp.cc
parent22b8252eff251845ac27cf29cf7a9126a5a58f97 (diff)
downloadwabt-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.cc5
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;