diff options
-rwxr-xr-x | build-js.sh | 1 | ||||
-rw-r--r-- | src/binaryen-c.cpp | 8 | ||||
-rw-r--r-- | src/binaryen-c.h | 1 | ||||
-rw-r--r-- | src/js/binaryen.js-post.js | 5 |
4 files changed, 15 insertions, 0 deletions
diff --git a/build-js.sh b/build-js.sh index d24cb411d..4d1542697 100755 --- a/build-js.sh +++ b/build-js.sh @@ -535,6 +535,7 @@ export_function "_BinaryenAddFunction" export_function "_BinaryenGetFunction" export_function "_BinaryenRemoveFunction" export_function "_BinaryenAddGlobal" +export_function "_BinaryenRemoveGlobal" export_function "_BinaryenAddFunctionImport" export_function "_BinaryenAddTableImport" export_function "_BinaryenAddMemoryImport" diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index b8fa9d034..fbf223535 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -1645,6 +1645,14 @@ BinaryenGlobalRef BinaryenAddGlobal(BinaryenModuleRef module, const char* name, wasm->addGlobal(ret); return ret; } +void BinaryenRemoveGlobal(BinaryenModuleRef module, const char* name) { + if (tracing) { + std::cout << " BinaryenRemoveGlobal(the_module, \"" << name << "\");\n"; + } + + auto* wasm = (Module*)module; + wasm->removeGlobal(name); +} // Imports diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 74eb776ce..959044009 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -613,6 +613,7 @@ void BinaryenRemoveExport(BinaryenModuleRef module, const char* externalName); typedef void* BinaryenGlobalRef; BinaryenGlobalRef BinaryenAddGlobal(BinaryenModuleRef module, const char* name, BinaryenType type, int8_t mutable_, BinaryenExpressionRef init); +void BinaryenRemoveGlobal(BinaryenModuleRef module, const char* name); // Function table. One per module diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 0222d1b75..fc44c335a 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -1066,6 +1066,11 @@ Module['Module'] = function(module) { return Module['_BinaryenAddGlobal'](module, strToStack(name), type, mutable, init); }); } + this['removeGlobal'] = function(name) { + return preserveStack(function () { + return Module['_BinaryenRemoveGlobal'](module, strToStack(name)); + }); + } this['addFunctionImport'] = function(internalName, externalModuleName, externalBaseName, functionType) { return preserveStack(function() { return Module['_BinaryenAddFunctionImport'](module, strToStack(internalName), strToStack(externalModuleName), strToStack(externalBaseName), functionType); |