diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/wasm.h b/src/wasm.h index d41ad863a..0a4c0db16 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -562,6 +562,18 @@ public: TupleExtractId, I31NewId, I31GetId, + RefTestId, + RefCastId, + BrOnCastId, + RttCanonId, + RttSubId, + StructNewId, + StructGetId, + StructSetId, + ArrayNewId, + ArrayGetId, + ArraySetId, + ArrayLenId, NumExpressionIds }; Id _id; @@ -1224,6 +1236,90 @@ public: void finalize(); }; +class RefTest : public SpecificExpression<Expression::RefTestId> { +public: + RefTest(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): ref.test"); } +}; + +class RefCast : public SpecificExpression<Expression::RefCastId> { +public: + RefCast(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): ref.cast"); } +}; + +class BrOnCast : public SpecificExpression<Expression::BrOnCastId> { +public: + BrOnCast(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): br_on_cast"); } +}; + +class RttCanon : public SpecificExpression<Expression::RttCanonId> { +public: + RttCanon(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): rtt.canon"); } +}; + +class RttSub : public SpecificExpression<Expression::RttSubId> { +public: + RttSub(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): rtt.sub"); } +}; + +class StructNew : public SpecificExpression<Expression::StructNewId> { +public: + StructNew(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): struct.new"); } +}; + +class StructGet : public SpecificExpression<Expression::StructGetId> { +public: + StructGet(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): struct.get"); } +}; + +class StructSet : public SpecificExpression<Expression::StructSetId> { +public: + StructSet(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): struct.set"); } +}; + +class ArrayNew : public SpecificExpression<Expression::ArrayNewId> { +public: + ArrayNew(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): array.new"); } +}; + +class ArrayGet : public SpecificExpression<Expression::ArrayGetId> { +public: + ArrayGet(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): array.get"); } +}; + +class ArraySet : public SpecificExpression<Expression::ArraySetId> { +public: + ArraySet(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): array.set"); } +}; + +class ArrayLen : public SpecificExpression<Expression::ArrayLenId> { +public: + ArrayLen(MixedArena& allocator) {} + + void finalize() { WASM_UNREACHABLE("TODO (gc): array.len"); } +}; + // Globals struct Importable { |