diff options
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r-- | src/binaryen-c.cpp | 24 |
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) { |