summaryrefslogtreecommitdiff
path: root/src/binary-reader-ir.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/binary-reader-ir.cc')
-rw-r--r--src/binary-reader-ir.cc38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index 6ee7f9dc..1ef8209b 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -128,6 +128,12 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnAtomicRmwCmpxchgExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
+ wabt::Result OnAtomicWaitExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) override;
+ wabt::Result OnAtomicWakeExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) override;
Result OnBinaryExpr(Opcode opcode) override;
Result OnBlockExpr(Index num_types, Type* sig_types) override;
Result OnBrExpr(Index depth) override;
@@ -171,12 +177,6 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnTryExpr(Index num_types, Type* sig_types) override;
Result OnUnaryExpr(Opcode opcode) override;
Result OnUnreachableExpr() override;
- wabt::Result OnWaitExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) override;
- wabt::Result OnWakeExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) override;
Result EndFunctionBody(Index index) override;
Result OnElemSegmentCount(Index count) override;
@@ -555,6 +555,20 @@ Result BinaryReaderIR::OnAtomicRmwCmpxchgExpr(Opcode opcode,
MakeUnique<AtomicRmwCmpxchgExpr>(opcode, 1 << alignment_log2, offset));
}
+wabt::Result BinaryReaderIR::OnAtomicWaitExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) {
+ return AppendExpr(
+ MakeUnique<AtomicWaitExpr>(opcode, 1 << alignment_log2, offset));
+}
+
+wabt::Result BinaryReaderIR::OnAtomicWakeExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) {
+ return AppendExpr(
+ MakeUnique<AtomicWakeExpr>(opcode, 1 << alignment_log2, offset));
+}
+
Result BinaryReaderIR::OnBinaryExpr(Opcode opcode) {
return AppendExpr(MakeUnique<BinaryExpr>(opcode, GetLocation()));
}
@@ -774,18 +788,6 @@ Result BinaryReaderIR::OnUnreachableExpr() {
return AppendExpr(MakeUnique<UnreachableExpr>());
}
-wabt::Result BinaryReaderIR::OnWaitExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) {
- return AppendExpr(MakeUnique<WaitExpr>(opcode, 1 << alignment_log2, offset));
-}
-
-wabt::Result BinaryReaderIR::OnWakeExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) {
- return AppendExpr(MakeUnique<WakeExpr>(opcode, 1 << alignment_log2, offset));
-}
-
Result BinaryReaderIR::EndFunctionBody(Index index) {
CHECK_RESULT(PopLabel());
current_func_ = nullptr;