summaryrefslogtreecommitdiff
path: root/src/passes
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes')
-rw-r--r--src/passes/Heap2Local.cpp9
-rw-r--r--src/passes/J2CLItableMerging.cpp3
2 files changed, 8 insertions, 4 deletions
diff --git a/src/passes/Heap2Local.cpp b/src/passes/Heap2Local.cpp
index a6223d4fc..b050c4a76 100644
--- a/src/passes/Heap2Local.cpp
+++ b/src/passes/Heap2Local.cpp
@@ -1066,7 +1066,9 @@ struct Array2Struct : PostWalker<Array2Struct> {
}
// Convert the ArraySet into a StructSet.
- replaceCurrent(builder.makeStructSet(index, curr->ref, curr->value));
+ // TODO: Handle atomic array accesses.
+ replaceCurrent(builder.makeStructSet(
+ index, curr->ref, curr->value, MemoryOrder::Unordered));
}
void visitArrayGet(ArrayGet* curr) {
@@ -1085,8 +1087,9 @@ struct Array2Struct : PostWalker<Array2Struct> {
}
// Convert the ArrayGet into a StructGet.
- replaceCurrent(
- builder.makeStructGet(index, curr->ref, curr->type, curr->signed_));
+ // TODO: Handle atomic array accesses.
+ replaceCurrent(builder.makeStructGet(
+ index, curr->ref, MemoryOrder::Unordered, curr->type, curr->signed_));
}
// Some additional operations need special handling
diff --git a/src/passes/J2CLItableMerging.cpp b/src/passes/J2CLItableMerging.cpp
index 472d18b7e..be8da22ce 100644
--- a/src/passes/J2CLItableMerging.cpp
+++ b/src/passes/J2CLItableMerging.cpp
@@ -280,6 +280,7 @@ struct J2CLItableMerging : public Pass {
replaceCurrent(builder.makeStructGet(
0,
curr->ref,
+ MemoryOrder::Unordered,
parent.structInfoByITableType[curr->type.getHeapType()]
->javaClass.getStruct()
.fields[0]
@@ -341,4 +342,4 @@ struct J2CLItableMerging : public Pass {
} // anonymous namespace
Pass* createJ2CLItableMergingPass() { return new J2CLItableMerging(); }
-} // namespace wasm \ No newline at end of file
+} // namespace wasm