summaryrefslogtreecommitdiff
path: root/src/passes/Print.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2018-01-22 17:36:06 -0800
committerGitHub <noreply@github.com>2018-01-22 17:36:06 -0800
commit155d0b5f42b57100582649dfbdb81806b10579a2 (patch)
tree991421bf9fcd120aa0c4d6cad41df14de1fc7afd /src/passes/Print.cpp
parent02729a12e1735f629d3066b51c96a056f712b080 (diff)
downloadbinaryen-155d0b5f42b57100582649dfbdb81806b10579a2.tar.gz
binaryen-155d0b5f42b57100582649dfbdb81806b10579a2.tar.bz2
binaryen-155d0b5f42b57100582649dfbdb81806b10579a2.zip
Atomic wait/wake fixes (#1383)
* fix wait and wake binary format support, they have alignments and offsets * don't emit unreachable parts of atomic operations, for simplicity and to avoid special handling * don't emit atomic waits by default in the fuzzer, they hang in native vm support
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r--src/passes/Print.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index 7651414e0..66b0fa8f5 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -411,6 +411,9 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
o << '(' ;
prepareColor(o);
o << printWasmType(curr->expectedType) << ".wait";
+ if (curr->offset) {
+ o << " offset=" << curr->offset;
+ }
restoreNormalColor(o);
incIndent();
printFullLine(curr->ptr);
@@ -420,6 +423,9 @@ struct PrintSExpression : public Visitor<PrintSExpression> {
}
void visitAtomicWake(AtomicWake* curr) {
printOpening(o, "wake");
+ if (curr->offset) {
+ o << " offset=" << curr->offset;
+ }
incIndent();
printFullLine(curr->ptr);
printFullLine(curr->wakeCount);