diff options
author | Derek Schuff <dschuff@chromium.org> | 2017-07-10 09:47:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-10 09:47:21 -0700 |
commit | bcb29e59c92347eebcd138034a4f4c06d042670a (patch) | |
tree | ce51ac4020bacd34c748693d85d70616bf340714 /src/wasm.h | |
parent | 4995132cfaf575e430a7d0e95257b677286171c3 (diff) | |
download | binaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.tar.gz binaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.tar.bz2 binaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.zip |
Add IR, parsing, printing, and binary for atomic cmpxchg (#1083)
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/wasm.h b/src/wasm.h index e98c4db63..1f9e1c7af 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -131,7 +131,7 @@ enum HostOp { }; enum AtomicRMWOp { - Add, Sub, And, Or, Xor, Xchg, + Add, Sub, And, Or, Xor, Xchg }; // @@ -445,6 +445,15 @@ class AtomicRMW : public SpecificExpression<Expression::AtomicRMWId> { class AtomicCmpxchg : public SpecificExpression<Expression::AtomicCmpxchgId> { public: AtomicCmpxchg() = default; + AtomicCmpxchg(MixedArena& allocator) : AtomicCmpxchg() {} + + uint8_t bytes; + Address offset; + Expression* ptr; + Expression* expected; + Expression* replacement; + + void finalize(); }; class Const : public SpecificExpression<Expression::ConstId> { |