From 155d0b5f42b57100582649dfbdb81806b10579a2 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 22 Jan 2018 17:36:06 -0800 Subject: 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 --- src/ir/ExpressionManipulator.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ir/ExpressionManipulator.cpp') diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp index 812c4f04b..dcbb4a056 100644 --- a/src/ir/ExpressionManipulator.cpp +++ b/src/ir/ExpressionManipulator.cpp @@ -116,10 +116,10 @@ Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom curr->type); } Expression* visitAtomicWait(AtomicWait* curr) { - return builder.makeAtomicWait(copy(curr->ptr), copy(curr->expected), copy(curr->timeout), curr->expectedType); + return builder.makeAtomicWait(copy(curr->ptr), copy(curr->expected), copy(curr->timeout), curr->expectedType, curr->offset); } Expression* visitAtomicWake(AtomicWake* curr) { - return builder.makeAtomicWake(copy(curr->ptr), copy(curr->wakeCount)); + return builder.makeAtomicWake(copy(curr->ptr), copy(curr->wakeCount), curr->offset); } Expression* visitConst(Const *curr) { return builder.makeConst(curr->value); -- cgit v1.2.3