diff options
Diffstat (limited to 'src')
-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 |
3 files changed, 14 insertions, 0 deletions
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); |