diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-12 11:56:12 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-12 11:56:12 -0800 |
commit | 860d56e5c724d32ce8cc890ff97a02dbdf379259 (patch) | |
tree | f1fb9b56d71763c7db30894a0777fc0477485f9e | |
parent | e404e460b93eb8aee8995827dfbe29840315a572 (diff) | |
download | binaryen-860d56e5c724d32ce8cc890ff97a02dbdf379259.tar.gz binaryen-860d56e5c724d32ce8cc890ff97a02dbdf379259.tar.bz2 binaryen-860d56e5c724d32ce8cc890ff97a02dbdf379259.zip |
implement br_if in wasm-as
-rw-r--r-- | src/wasm-binary.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index 79742a414..9accbfbc0 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -543,14 +543,14 @@ public: breakStack.pop_back(); } void visitBreak(Break *curr) { - o << int8_t(BinaryConsts::Br); + o << int8_t(curr->condition ? BinaryConsts::BrIf : BinaryConsts::Br); for (int i = breakStack.size() - 1; i >= 0; i--) { if (breakStack[i] == curr->name) { o << int8_t(breakStack.size() - 1 - i); return; } } - abort(); + if (curr->condition) visit(curr->condition); } void visitSwitch(Switch *curr) { o << int8_t(BinaryConsts::TableSwitch) << int16_t(curr->cases.size()) |