diff options
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r-- | src/binaryen-c.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h index d95d013ed..c136b5f70 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -76,6 +76,39 @@ BinaryenType BinaryenFloat64(void); // the API figure out the type instead of providing one. BinaryenType BinaryenUndefined(void); +// Expression ids (call to get the value of each; you can cache them) + +typedef uint32_t BinaryenExpressionId; + +BinaryenExpressionId BinaryenInvalidId(void); +BinaryenExpressionId BinaryenBlockId(void); +BinaryenExpressionId BinaryenIfId(void); +BinaryenExpressionId BinaryenLoopId(void); +BinaryenExpressionId BinaryenBreakId(void); +BinaryenExpressionId BinaryenSwitchId(void); +BinaryenExpressionId BinaryenCallId(void); +BinaryenExpressionId BinaryenCallImportId(void); +BinaryenExpressionId BinaryenCallIndirectId(void); +BinaryenExpressionId BinaryenGetLocalId(void); +BinaryenExpressionId BinaryenSetLocalId(void); +BinaryenExpressionId BinaryenGetGlobalId(void); +BinaryenExpressionId BinaryenSetGlobalId(void); +BinaryenExpressionId BinaryenLoadId(void); +BinaryenExpressionId BinaryenStoreId(void); +BinaryenExpressionId BinaryenConstId(void); +BinaryenExpressionId BinaryenUnaryId(void); +BinaryenExpressionId BinaryenBinaryId(void); +BinaryenExpressionId BinaryenSelectId(void); +BinaryenExpressionId BinaryenDropId(void); +BinaryenExpressionId BinaryenReturnId(void); +BinaryenExpressionId BinaryenHostId(void); +BinaryenExpressionId BinaryenNopId(void); +BinaryenExpressionId BinaryenUnreachableId(void); +BinaryenExpressionId BinaryenAtomicCmpxchgId(void); +BinaryenExpressionId BinaryenAtomicRMWId(void); +BinaryenExpressionId BinaryenAtomicWaitId(void); +BinaryenExpressionId BinaryenAtomicWakeId(void); + // Modules // // Modules contain lists of functions, imports, exports, function types. The @@ -332,6 +365,10 @@ BinaryenExpressionRef BinaryenAtomicCmpxchg(BinaryenModuleRef module, BinaryenIn BinaryenExpressionRef BinaryenAtomicWait(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef expected, BinaryenExpressionRef timeout, BinaryenType type); BinaryenExpressionRef BinaryenAtomicWake(BinaryenModuleRef module, BinaryenExpressionRef ptr, BinaryenExpressionRef wakeCount); +// Gets the id (kind) of the specified expression. +BinaryenExpressionId BinaryenExpressionGetId(BinaryenExpressionRef expr); +// Gets the type of the specified expression. +BinaryenType BinaryenExpressionGetType(BinaryenExpressionRef expr); // Print an expression to stdout. Useful for debugging. void BinaryenExpressionPrint(BinaryenExpressionRef expr); |