From 9e636855b582d1499a87fb73f55d85102ce95a58 Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Tue, 12 Dec 2023 20:28:40 -0800 Subject: [Parser] Parse the remaining array operations (#6158) Parse `array.new_elem`, `array.init_data`, and `array.init_elem`. Accidentally also includes: * [Parser] Parse string types and operations (#6161) --- src/wasm-ir-builder.h | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'src/wasm-ir-builder.h') diff --git a/src/wasm-ir-builder.h b/src/wasm-ir-builder.h index a7e36bd10..8b01977be 100644 --- a/src/wasm-ir-builder.h +++ b/src/wasm-ir-builder.h @@ -181,22 +181,22 @@ public: [[nodiscard]] Result<> makeArrayLen(); [[nodiscard]] Result<> makeArrayCopy(HeapType destType, HeapType srcType); [[nodiscard]] Result<> makeArrayFill(HeapType type); - // [[nodiscard]] Result<> makeArrayInitData(); - // [[nodiscard]] Result<> makeArrayInitElem(); + [[nodiscard]] Result<> makeArrayInitData(HeapType type, Name data); + [[nodiscard]] Result<> makeArrayInitElem(HeapType type, Name elem); [[nodiscard]] Result<> makeRefAs(RefAsOp op); - // [[nodiscard]] Result<> makeStringNew(); - // [[nodiscard]] Result<> makeStringConst(); - // [[nodiscard]] Result<> makeStringMeasure(); - // [[nodiscard]] Result<> makeStringEncode(); - // [[nodiscard]] Result<> makeStringConcat(); - // [[nodiscard]] Result<> makeStringEq(); - // [[nodiscard]] Result<> makeStringAs(); - // [[nodiscard]] Result<> makeStringWTF8Advance(); - // [[nodiscard]] Result<> makeStringWTF16Get(); - // [[nodiscard]] Result<> makeStringIterNext(); - // [[nodiscard]] Result<> makeStringIterMove(); - // [[nodiscard]] Result<> makeStringSliceWTF(); - // [[nodiscard]] Result<> makeStringSliceIter(); + [[nodiscard]] Result<> makeStringNew(StringNewOp op, bool try_, Name mem); + [[nodiscard]] Result<> makeStringConst(Name string); + [[nodiscard]] Result<> makeStringMeasure(StringMeasureOp op); + [[nodiscard]] Result<> makeStringEncode(StringEncodeOp op, Name mem); + [[nodiscard]] Result<> makeStringConcat(); + [[nodiscard]] Result<> makeStringEq(StringEqOp op); + [[nodiscard]] Result<> makeStringAs(StringAsOp op); + [[nodiscard]] Result<> makeStringWTF8Advance(); + [[nodiscard]] Result<> makeStringWTF16Get(); + [[nodiscard]] Result<> makeStringIterNext(); + [[nodiscard]] Result<> makeStringIterMove(StringIterMoveOp op); + [[nodiscard]] Result<> makeStringSliceWTF(StringSliceWTFOp op); + [[nodiscard]] Result<> makeStringSliceIter(); // Private functions that must be public for technical reasons. [[nodiscard]] Result<> visitExpression(Expression*); @@ -213,6 +213,8 @@ public: [[nodiscard]] Result<> visitCallIndirect(CallIndirect*); [[nodiscard]] Result<> visitCallRef(CallRef*); [[nodiscard]] Result<> visitThrow(Throw*); + [[nodiscard]] Result<> visitStringNew(StringNew*); + [[nodiscard]] Result<> visitStringEncode(StringEncode*); private: Module& wasm; -- cgit v1.2.3