@@ -274,8 +274,15 @@ template<typename Ctx>
274
274
Result<>
275
275
makeArrayGet (Ctx&, Index, const std::vector<Annotation>&, bool signed_ = false );
276
276
template <typename Ctx>
277
+ Result<> makeAtomicArrayGet (Ctx&,
278
+ Index,
279
+ const std::vector<Annotation>&,
280
+ bool signed_ = false );
281
+ template <typename Ctx>
277
282
Result<> makeArraySet (Ctx&, Index, const std::vector<Annotation>&);
278
283
template <typename Ctx>
284
+ Result<> makeAtomicArraySet (Ctx&, Index, const std::vector<Annotation>&);
285
+ template <typename Ctx>
279
286
Result<> makeArrayLen (Ctx&, Index, const std::vector<Annotation>&);
280
287
template <typename Ctx>
281
288
Result<> makeArrayCopy (Ctx&, Index, const std::vector<Annotation>&);
@@ -2411,15 +2418,39 @@ Result<> makeArrayGet(Ctx& ctx,
2411
2418
bool signed_) {
2412
2419
auto type = typeidx (ctx);
2413
2420
CHECK_ERR (type);
2414
- return ctx.makeArrayGet (pos, annotations, *type, signed_);
2421
+ return ctx.makeArrayGet (
2422
+ pos, annotations, *type, signed_, MemoryOrder::Unordered);
2423
+ }
2424
+
2425
+ template <typename Ctx>
2426
+ Result<> makeAtomicArrayGet (Ctx& ctx,
2427
+ Index pos,
2428
+ const std::vector<Annotation>& annotations,
2429
+ bool signed_) {
2430
+ auto order = memorder (ctx);
2431
+ CHECK_ERR (order);
2432
+ auto type = typeidx (ctx);
2433
+ CHECK_ERR (type);
2434
+ return ctx.makeArrayGet (pos, annotations, *type, signed_, *order);
2415
2435
}
2416
2436
2417
2437
template <typename Ctx>
2418
2438
Result<>
2419
2439
makeArraySet (Ctx& ctx, Index pos, const std::vector<Annotation>& annotations) {
2420
2440
auto type = typeidx (ctx);
2421
2441
CHECK_ERR (type);
2422
- return ctx.makeArraySet (pos, annotations, *type);
2442
+ return ctx.makeArraySet (pos, annotations, *type, MemoryOrder::Unordered);
2443
+ }
2444
+
2445
+ template <typename Ctx>
2446
+ Result<> makeAtomicArraySet (Ctx& ctx,
2447
+ Index pos,
2448
+ const std::vector<Annotation>& annotations) {
2449
+ auto order = memorder (ctx);
2450
+ CHECK_ERR (order);
2451
+ auto type = typeidx (ctx);
2452
+ CHECK_ERR (type);
2453
+ return ctx.makeArraySet (pos, annotations, *type, *order);
2423
2454
}
2424
2455
2425
2456
template <typename Ctx>
0 commit comments