diff options
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r-- | src/binaryen-c.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 5ca07316f..f695fa6f0 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -174,6 +174,8 @@ BINARYEN_API BinaryenExpressionId BinaryenBrOnExnId(void); BINARYEN_API BinaryenExpressionId BinaryenTupleMakeId(void); BINARYEN_API BinaryenExpressionId BinaryenTupleExtractId(void); BINARYEN_API BinaryenExpressionId BinaryenPopId(void); +BINARYEN_API BinaryenExpressionId BinaryenI31NewId(void); +BINARYEN_API BinaryenExpressionId BinaryenI31GetId(void); // External kinds (call to get the value of each; you can cache them) @@ -860,6 +862,11 @@ BINARYEN_API BinaryenExpressionRef BinaryenTupleExtract( BinaryenModuleRef module, BinaryenExpressionRef tuple, BinaryenIndex index); BINARYEN_API BinaryenExpressionRef BinaryenPop(BinaryenModuleRef module, BinaryenType type); +BINARYEN_API BinaryenExpressionRef BinaryenI31New(BinaryenModuleRef module, + BinaryenExpressionRef value); +BINARYEN_API BinaryenExpressionRef BinaryenI31Get(BinaryenModuleRef module, + BinaryenExpressionRef i31, + int signed_); // Expression @@ -1852,6 +1859,29 @@ BinaryenTupleExtractGetIndex(BinaryenExpressionRef expr); BINARYEN_API void BinaryenTupleExtractSetIndex(BinaryenExpressionRef expr, BinaryenIndex index); +// I31New + +// Gets the value expression of an `i31.new` expression. +BINARYEN_API BinaryenExpressionRef +BinaryenI31NewGetValue(BinaryenExpressionRef expr); +// Sets the value expression of an `i31.new` expression. +BINARYEN_API void BinaryenI31NewSetValue(BinaryenExpressionRef expr, + BinaryenExpressionRef valueExpr); + +// I31Get + +// Gets the i31 expression of an `i31.get` expression. +BINARYEN_API BinaryenExpressionRef +BinaryenI31GetGetI31(BinaryenExpressionRef expr); +// Sets the i31 expression of an `i31.get` expression. +BINARYEN_API void BinaryenI31GetSetI31(BinaryenExpressionRef expr, + BinaryenExpressionRef i31Expr); +// Gets whether an `i31.get` expression returns a signed value (`_s`). +BINARYEN_API int BinaryenI31GetIsSigned(BinaryenExpressionRef expr); +// Sets whether an `i31.get` expression returns a signed value (`_s`). +BINARYEN_API void BinaryenI31GetSetSigned(BinaryenExpressionRef expr, + int signed_); + // Functions BINARYEN_REF(Function); |