diff options
author | Thomas Lively <tlively@google.com> | 2023-12-12 20:28:40 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-12 20:28:40 -0800 |
commit | 9e636855b582d1499a87fb73f55d85102ce95a58 (patch) | |
tree | 4b646f743e3fc645cd37d06d9f37f65d9e4840c1 /src/wasm-ir-builder.h | |
parent | 8e9199274e4dbd93b1ca65d9c053c4610599e69f (diff) | |
download | binaryen-9e636855b582d1499a87fb73f55d85102ce95a58.tar.gz binaryen-9e636855b582d1499a87fb73f55d85102ce95a58.tar.bz2 binaryen-9e636855b582d1499a87fb73f55d85102ce95a58.zip |
[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)
Diffstat (limited to 'src/wasm-ir-builder.h')
-rw-r--r-- | src/wasm-ir-builder.h | 32 |
1 files changed, 17 insertions, 15 deletions
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; |