summaryrefslogtreecommitdiff
path: root/src/binaryen-c.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.h')
-rw-r--r--src/binaryen-c.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 715b08880..387e54b72 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -2330,6 +2330,9 @@ BINARYEN_API BinaryenModuleRef BinaryenModuleParse(const char* text);
// Print a module to stdout in s-expression text format. Useful for debugging.
BINARYEN_API void BinaryenModulePrint(BinaryenModuleRef module);
+// Print a module to stdout in stack IR text format. Useful for debugging.
+BINARYEN_API void BinaryenModulePrintStackIR(BinaryenModuleRef module);
+
// Print a module to stdout in asm.js syntax.
BINARYEN_API void BinaryenModulePrintAsmjs(BinaryenModuleRef module);
@@ -2464,6 +2467,13 @@ BINARYEN_API size_t BinaryenModuleWriteText(BinaryenModuleRef module,
char* output,
size_t outputSize);
+// Serialize a module in stack IR text format.
+// @return how many bytes were written. This will be less than or equal to
+// outputSize
+BINARYEN_API size_t BinaryenModuleWriteStackIR(BinaryenModuleRef module,
+ char* output,
+ size_t outputSize);
+
typedef struct BinaryenBufferSizes {
size_t outputBytes;
size_t sourceMapBytes;
@@ -2504,6 +2514,12 @@ BinaryenModuleAllocateAndWrite(BinaryenModuleRef module,
// once not needed anymore.
BINARYEN_API char* BinaryenModuleAllocateAndWriteText(BinaryenModuleRef module);
+// Serialize a module in stack IR form. Implicitly allocates the returned
+// char* with malloc(), and expects the user to free() them manually
+// once not needed anymore.
+BINARYEN_API char*
+BinaryenModuleAllocateAndWriteStackIR(BinaryenModuleRef module);
+
// Deserialize a module from binary form.
BINARYEN_API BinaryenModuleRef BinaryenModuleRead(char* input,
size_t inputSize);