diff options
author | Nidin Vinayakan <nidinthb@gmail.com> | 2018-10-12 01:10:29 +0200 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2018-10-11 16:10:29 -0700 |
commit | 230b9cd7f96eb3d7e35f07d4bb6f029264e6543c (patch) | |
tree | eab77ec0c100ffb46aa8f07ce4c17b301499f530 /src/binaryen-c.cpp | |
parent | 91ecfd0ac94791612af40a7acee5640d185a84a9 (diff) | |
download | binaryen-230b9cd7f96eb3d7e35f07d4bb6f029264e6543c.tar.gz binaryen-230b9cd7f96eb3d7e35f07d4bb6f029264e6543c.tar.bz2 binaryen-230b9cd7f96eb3d7e35f07d4bb6f029264e6543c.zip |
Shared memory support for add memory import and set memory functions. (#1686)
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r-- | src/binaryen-c.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index fbf223535..8e9ea8589 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1681,15 +1681,16 @@ void BinaryenAddTableImport(BinaryenModuleRef module, const char* internalName, wasm->table.module = externalModuleName; wasm->table.base = externalBaseName; } -void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char* externalBaseName) { +void BinaryenAddMemoryImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char* externalBaseName, uint8_t shared) { auto* wasm = (Module*)module; if (tracing) { - std::cout << " BinaryenAddMemoryImport(the_module, \"" << internalName << "\", \"" << externalModuleName << "\", \"" << externalBaseName << "\");\n"; + std::cout << " BinaryenAddMemoryImport(the_module, \"" << internalName << "\", \"" << externalModuleName << "\", \"" << externalBaseName << "\", " << int(shared) << ");\n"; } wasm->memory.module = externalModuleName; wasm->memory.base = externalBaseName; + wasm->memory.shared = shared; } void BinaryenAddGlobalImport(BinaryenModuleRef module, const char* internalName, const char* externalModuleName, const char* externalBaseName, BinaryenType globalType) { auto* wasm = (Module*)module; @@ -1812,7 +1813,7 @@ void BinaryenSetFunctionTable(BinaryenModuleRef module, BinaryenIndex initial, B // Memory. One per module -void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char** segments, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments) { +void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char** segments, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments, uint8_t shared) { if (tracing) { std::cout << " {\n"; for (BinaryenIndex i = 0; i < numSegments; i++) { @@ -1846,7 +1847,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen std::cout << " };\n"; std::cout << " BinaryenSetMemory(the_module, " << initial << ", " << maximum << ", "; traceNameOrNULL(exportName); - std::cout << ", segments, segmentOffsets, segmentSizes, " << numSegments << ");\n"; + std::cout << ", segments, segmentOffsets, segmentSizes, " << numSegments << ", " << int(shared) << ");\n"; std::cout << " }\n"; } @@ -1854,6 +1855,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen wasm->memory.initial = initial; wasm->memory.max = maximum; wasm->memory.exists = true; + wasm->memory.shared = shared; if (exportName) { auto memoryExport = make_unique<Export>(); memoryExport->name = exportName; |