diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-09-12 17:12:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-12 17:12:56 -0700 |
commit | 048bcadbc0fdc9866e70995984813551aa5681ea (patch) | |
tree | c401084f7a48aac8ef236f3f6f954d71ceec8884 /src/wasm-binary.h | |
parent | c6729400f68a346c1d51702946bf6026638782a6 (diff) | |
download | binaryen-048bcadbc0fdc9866e70995984813551aa5681ea.tar.gz binaryen-048bcadbc0fdc9866e70995984813551aa5681ea.tar.bz2 binaryen-048bcadbc0fdc9866e70995984813551aa5681ea.zip |
Avoid new blocks in binary reading/writing (#1165)
* don't emit a toplevel block if we don't need to, as in wasm it is a list context
* don't create unnecessary blocks in wasm reading
Diffstat (limited to 'src/wasm-binary.h')
-rw-r--r-- | src/wasm-binary.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 677f7ac62..b7e614fa5 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -906,8 +906,10 @@ public: BinaryConsts::ASTNodes readExpression(Expression*& curr); void pushBlockElements(Block* curr, size_t start, size_t end); void visitBlock(Block *curr); - Expression* getMaybeBlock(WasmType type); - Expression* getBlock(WasmType type); + + // Gets a block of expressions. If it's just one, return that singleton. + Expression* getBlockOrSingleton(WasmType type); + void visitIf(If *curr); void visitLoop(Loop *curr); BreakTarget getBreakTarget(int32_t offset); |