summaryrefslogtreecommitdiff
path: root/src/wasm-binary.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-09-12 17:12:56 -0700
committerGitHub <noreply@github.com>2017-09-12 17:12:56 -0700
commit048bcadbc0fdc9866e70995984813551aa5681ea (patch)
treec401084f7a48aac8ef236f3f6f954d71ceec8884 /src/wasm-binary.h
parentc6729400f68a346c1d51702946bf6026638782a6 (diff)
downloadbinaryen-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.h6
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);