summaryrefslogtreecommitdiff
path: root/src/wasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm.h')
-rw-r--r--src/wasm.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wasm.h b/src/wasm.h
index 2b890177e..3daff2c4c 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -573,6 +573,11 @@ enum RefAsOp {
ExternExternalize,
};
+enum ArrayNewSegOp {
+ NewData,
+ NewElem,
+};
+
enum BrOnOp {
BrOnNull,
BrOnNonNull,
@@ -719,6 +724,7 @@ public:
StructGetId,
StructSetId,
ArrayNewId,
+ ArrayNewSegId,
ArrayInitId,
ArrayGetId,
ArraySetId,
@@ -1605,6 +1611,18 @@ public:
void finalize();
};
+class ArrayNewSeg : public SpecificExpression<Expression::ArrayNewSegId> {
+public:
+ ArrayNewSeg(MixedArena& allocator) {}
+
+ ArrayNewSegOp op;
+ Index segment;
+ Expression* offset;
+ Expression* size;
+
+ void finalize();
+};
+
class ArrayInit : public SpecificExpression<Expression::ArrayInitId> {
public:
ArrayInit(MixedArena& allocator) : values(allocator) {}