summaryrefslogtreecommitdiff
path: root/src/binaryen-c.h
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2017-11-09 22:46:32 +0100
committerAlon Zakai <alonzakai@gmail.com>2017-11-09 13:46:32 -0800
commit83f62325ac33706b1fcc589bc5ad6e290ed14d3f (patch)
treec23bbbbb56eec9655fcfc312c3f25331f7f7e700 /src/binaryen-c.h
parente6eb478ec4eae111063780bd67c48abbf9c68947 (diff)
downloadbinaryen-83f62325ac33706b1fcc589bc5ad6e290ed14d3f.tar.gz
binaryen-83f62325ac33706b1fcc589bc5ad6e290ed14d3f.tar.bz2
binaryen-83f62325ac33706b1fcc589bc5ad6e290ed14d3f.zip
Added BinaryenAtomic* incl. ops to binaryen-c (#1276)
* Added BinaryenAtomicRMW incl. ops to binaryen-c * AtomicCmpxchg, AtomicWait, AtomicWake
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r--src/binaryen-c.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index a55bb14b0..d95d013ed 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -262,6 +262,12 @@ BinaryenOp BinaryenPageSize(void);
BinaryenOp BinaryenCurrentMemory(void);
BinaryenOp BinaryenGrowMemory(void);
BinaryenOp BinaryenHasFeature(void);
+BinaryenOp BinaryenAtomicRMWAdd(void);
+BinaryenOp BinaryenAtomicRMWSub(void);
+BinaryenOp BinaryenAtomicRMWAnd(void);
+BinaryenOp BinaryenAtomicRMWOr(void);
+BinaryenOp BinaryenAtomicRMWXor(void);
+BinaryenOp BinaryenAtomicRMWXchg(void);
typedef void* BinaryenExpressionRef;
@@ -321,6 +327,10 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, BinaryenExpressio
BinaryenExpressionRef BinaryenHost(BinaryenModuleRef module, BinaryenOp op, const char* name, BinaryenExpressionRef* operands, BinaryenIndex numOperands);
BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module);
BinaryenExpressionRef BinaryenUnreachable(BinaryenModuleRef module);
+BinaryenExpressionRef BinaryenAtomicRMW(BinaryenModuleRef module, BinaryenOp op, BinaryenIndex bytes, BinaryenIndex offset, BinaryenExpressionRef ptr, BinaryenExpressionRef value, BinaryenType type);
+BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenIndex bytes, BinaryenIndex offset, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef replacement, BinaryenType type);
+BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef timeout, BinaryenType type);
+BinaryenExpressionRef BinaryenAtomicWake(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef wakeCount);
// Print an expression to stdout. Useful for debugging.
void BinaryenExpressionPrint(BinaryenExpressionRef expr);