diff options
Diffstat (limited to 'src/wasm.h')
-rw-r--r-- | src/wasm.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wasm.h b/src/wasm.h index 56432faf9..286604848 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -177,6 +177,7 @@ public: HostId, NopId, UnreachableId, + AtomicRMWId, NumExpressionIds }; Id _id; @@ -398,6 +399,7 @@ public: bool signed_; Address offset; Address align; + bool isAtomic; Expression* ptr; // type must be set during creation, cannot be inferred @@ -413,6 +415,7 @@ public: uint8_t bytes; Address offset; Address align; + bool isAtomic; Expression* ptr; Expression* value; WasmType valueType; // the store never returns a value @@ -511,6 +514,13 @@ public: Unreachable(MixedArena& allocator) : Unreachable() {} }; +class AtomicRMW : public SpecificExpression<Expression::AtomicRMWId> { + public: + AtomicRMW() {} + AtomicRMW(MixedArena& allocator) : AtomicRMW() {} + bool finalize(); +}; + // Globals class Function { |