diff options
Diffstat (limited to 'src/binary-reader-ir.cc')
-rw-r--r-- | src/binary-reader-ir.cc | 38 |
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; |