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 041f7b49b..2102972b3 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -555,6 +555,13 @@ enum RefAsOp {
RefAsI31,
};
+enum BrOnOp {
+ BrOnCast,
+ BrOnFunc,
+ BrOnData,
+ BrOnI31,
+};
+
//
// Expressions
//
@@ -635,7 +642,7 @@ public:
CallRefId,
RefTestId,
RefCastId,
- BrOnCastId,
+ BrOnId,
RttCanonId,
RttSubId,
StructNewId,
@@ -1381,12 +1388,15 @@ public:
Type getCastType();
};
-class BrOnCast : public SpecificExpression<Expression::BrOnCastId> {
+class BrOn : public SpecificExpression<Expression::BrOnId> {
public:
- BrOnCast(MixedArena& allocator) {}
+ BrOn(MixedArena& allocator) {}
+ BrOnOp op;
Name name;
Expression* ref;
+
+ // BrOnCast has an rtt that is used in the cast.
Expression* rtt;
void finalize();