summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r--src/wasm-interpreter.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 1d07af46a..e8716efbc 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -1317,6 +1317,13 @@ public:
switch (curr->op) {
case RefIsNull:
return Literal(value.isNull());
+ case RefIsFunc:
+ return Literal(!value.isNull() && value.type.isFunction());
+ case RefIsData:
+ return Literal(!value.isNull() && value.isGCData());
+ case RefIsI31:
+ return Literal(!value.isNull() &&
+ value.type.getHeapType() == HeapType::i31);
default:
WASM_UNREACHABLE("unimplemented ref.is_*");
}