summaryrefslogtreecommitdiff
path: root/src/wasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm.h')
-rw-r--r--src/wasm.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/wasm.h b/src/wasm.h
index 7090aeff1..949ec3b72 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -542,6 +542,13 @@ enum PrefetchOp {
PrefetchNontemporal,
};
+enum RefIsOp {
+ RefIsNull,
+ RefIsFunc,
+ RefIsData,
+ RefIsI31,
+};
+
//
// Expressions
//
@@ -609,7 +616,7 @@ public:
MemoryFillId,
PopId,
RefNullId,
- RefIsNullId,
+ RefIsId,
RefFuncId,
RefEqId,
TryId,
@@ -1228,9 +1235,12 @@ public:
void finalize(Type type);
};
-class RefIsNull : public SpecificExpression<Expression::RefIsNullId> {
+class RefIs : public SpecificExpression<Expression::RefIsId> {
public:
- RefIsNull(MixedArena& allocator) {}
+ RefIs(MixedArena& allocator) {}
+
+ // RefIs can represent ref.is_null, ref.is_func, ref.is_data, and ref.is_i31.
+ RefIsOp op;
Expression* value;