summaryrefslogtreecommitdiff
path: root/src/interp/interp.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/interp.cc')
-rw-r--r--src/interp/interp.cc26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index d9cb9797..7aee6012 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -204,7 +204,7 @@ bool Store::HasValueType(Ref ref, ValueType type) const {
if (!IsValid(ref)) {
return false;
}
- if (type == ValueType::Anyref) {
+ if (type == ValueType::ExternRef) {
return true;
}
if (ref == Ref::Null) {
@@ -213,29 +213,16 @@ bool Store::HasValueType(Ref ref, ValueType type) const {
Object* obj = objects_.Get(ref.index).get();
switch (type) {
- case ValueType::Funcref:
+ case ValueType::FuncRef:
return obj->kind() == ObjectKind::DefinedFunc ||
obj->kind() == ObjectKind::HostFunc;
- case ValueType::Nullref:
- return ref.index == 0;
- case ValueType::Exnref: // TODO
+ case ValueType::ExnRef: // TODO
return false;
default:
return false;
}
}
-ValueType Store::GetValueType(Ref ref) const {
- Object* obj = objects_.Get(ref.index).get();
- switch (obj->kind()) {
- case ObjectKind::Null: return ValueType::Nullref;
- case ObjectKind::Foreign: return ValueType::Hostref;
- case ObjectKind::DefinedFunc:
- case ObjectKind::HostFunc: return ValueType::Funcref;
- default: return ValueType::Anyref;
- }
-}
-
Store::RootList::Index Store::NewRoot(Ref ref) {
return roots_.New(ref);
}
@@ -2210,10 +2197,9 @@ std::string Thread::TraceSource::Pick(Index index, Instr instr) {
v.u32(2), v.u32(3));
}
- case ValueType::Nullref: reftype = "nullref"; break;
- case ValueType::Funcref: reftype = "funcref"; break;
- case ValueType::Exnref: reftype = "exnref"; break;
- case ValueType::Anyref: reftype = "anyref"; break;
+ case ValueType::FuncRef: reftype = "funcref"; break;
+ case ValueType::ExternRef: reftype = "externref"; break;
+ case ValueType::ExnRef: reftype = "exnref"; break;
default:
WABT_UNREACHABLE;