diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 16 |
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; |