diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2020-03-05 15:52:44 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-05 15:52:44 -0800 |
commit | 9e3dbb1f668a14341e9aebae479537d4a26095a5 (patch) | |
tree | 9857d50c3373c3f6320ca3f2586bd499bc40b224 /src/wasm-s-parser.h | |
parent | 3a275d0627da443cce93631a64d78e7b3f441416 (diff) | |
download | binaryen-9e3dbb1f668a14341e9aebae479537d4a26095a5.tar.gz binaryen-9e3dbb1f668a14341e9aebae479537d4a26095a5.tar.bz2 binaryen-9e3dbb1f668a14341e9aebae479537d4a26095a5.zip |
Initial multivalue support (#2675)
Implements parsing and emitting of tuple creation and extraction and tuple-typed control flow for both the text and binary formats.
TODO:
- Extend Precompute/interpreter to handle tuple values
- C and JS API support/testing
- Figure out how to lower in stack IR
- Fuzzing
Diffstat (limited to 'src/wasm-s-parser.h')
-rw-r--r-- | src/wasm-s-parser.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index e6b40eb08..420692808 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -235,13 +235,15 @@ private: Expression* makeThrow(Element& s); Expression* makeRethrow(Element& s); Expression* makeBrOnExn(Element& s); + Expression* makeTupleMake(Element& s); + Expression* makeTupleExtract(Element& s); // Helper functions Type parseOptionalResultType(Element& s, Index& i); Index parseMemoryLimits(Element& s, Index i); std::vector<Type> parseParamOrLocal(Element& s); std::vector<NameType> parseParamOrLocal(Element& s, size_t& localIndex); - Type parseResults(Element& s); + std::vector<Type> parseResults(Element& s); Signature parseTypeRef(Element& s); size_t parseTypeUse(Element& s, size_t startPos, |