summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 3d58debc8..7d11689b0 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -1162,18 +1162,28 @@ BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module,
auto* ret = Builder(*(Module*)module).makeReturn((Expression*)value);
return static_cast<Expression*>(ret);
}
+
+static Builder::MemoryInfo getMemoryInfo(bool memoryIs64) {
+ return memoryIs64 ? Builder::MemoryInfo::Memory64
+ : Builder::MemoryInfo::Memory32;
+}
+
BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module,
- const char* memoryName) {
- auto* ret =
- Builder(*(Module*)module).makeMemorySize(getMemoryName(module, memoryName));
+ const char* memoryName,
+ bool memoryIs64) {
+ auto* ret = Builder(*(Module*)module)
+ .makeMemorySize(getMemoryName(module, memoryName),
+ getMemoryInfo(memoryIs64));
return static_cast<Expression*>(ret);
}
BinaryenExpressionRef BinaryenMemoryGrow(BinaryenModuleRef module,
BinaryenExpressionRef delta,
- const char* memoryName) {
- auto* ret =
- Builder(*(Module*)module)
- .makeMemoryGrow((Expression*)delta, getMemoryName(module, memoryName));
+ const char* memoryName,
+ bool memoryIs64) {
+ auto* ret = Builder(*(Module*)module)
+ .makeMemoryGrow((Expression*)delta,
+ getMemoryName(module, memoryName),
+ getMemoryInfo(memoryIs64));
return static_cast<Expression*>(ret);
}
BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module) {