diff options
Diffstat (limited to 'src/ir')
-rw-r--r-- | src/ir/ExpressionAnalyzer.cpp | 2 | ||||
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/ir/ExpressionAnalyzer.cpp b/src/ir/ExpressionAnalyzer.cpp index 05450d567..748b5a0af 100644 --- a/src/ir/ExpressionAnalyzer.cpp +++ b/src/ir/ExpressionAnalyzer.cpp @@ -492,6 +492,7 @@ uint32_t ExpressionAnalyzer::hash(Expression* curr) { break; } case Expression::Id::AtomicWaitId: { + HASH(AtomicWait, offset); HASH(AtomicWait, expectedType); PUSH(AtomicWait, ptr); PUSH(AtomicWait, expected); @@ -499,6 +500,7 @@ uint32_t ExpressionAnalyzer::hash(Expression* curr) { break; } case Expression::Id::AtomicWakeId: { + HASH(AtomicWake, offset); PUSH(AtomicWake, ptr); PUSH(AtomicWake, wakeCount); break; 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); |