summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp9
-rw-r--r--src/binaryen-c.h4
-rw-r--r--src/js/binaryen.js-post.js5
3 files changed, 16 insertions, 2 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index fb8b730c7..6bf2e7d7c 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -2751,6 +2751,15 @@ BinaryenGlobalRef BinaryenAddGlobal(BinaryenModuleRef module,
wasm->addGlobal(ret);
return ret;
}
+BinaryenGlobalRef BinaryenGetGlobal(BinaryenModuleRef module,
+ const char* name) {
+ if (tracing) {
+ std::cout << " BinaryenGetGlobal(the_module, \"" << name << "\");\n";
+ }
+
+ auto* wasm = (Module*)module;
+ return wasm->getGlobal(name);
+}
void BinaryenRemoveGlobal(BinaryenModuleRef module, const char* name) {
if (tracing) {
std::cout << " BinaryenRemoveGlobal(the_module, \"" << name << "\");\n";
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index ae6747cea..03da33931 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -853,11 +853,9 @@ BinaryenFunctionRef BinaryenAddFunction(BinaryenModuleRef module,
BinaryenType* varTypes,
BinaryenIndex numVarTypes,
BinaryenExpressionRef body);
-
// Gets a function reference by name.
BinaryenFunctionRef BinaryenGetFunction(BinaryenModuleRef module,
const char* name);
-
// Removes a function by name.
void BinaryenRemoveFunction(BinaryenModuleRef module, const char* name);
@@ -913,6 +911,8 @@ BinaryenGlobalRef BinaryenAddGlobal(BinaryenModuleRef module,
BinaryenType type,
int8_t mutable_,
BinaryenExpressionRef init);
+// Gets a global reference by name.
+BinaryenGlobalRef BinaryenGetGlobal(BinaryenModuleRef module, const char* name);
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 6f0bec734..c64d3caca 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -1776,6 +1776,11 @@ function wrapModule(module, self) {
return Module['_BinaryenAddGlobal'](module, strToStack(name), type, mutable, init);
});
}
+ self['getGlobal'] = function(name) {
+ return preserveStack(function() {
+ return Module['_BinaryenGetGlobal'](module, strToStack(name));
+ });
+ };
self['removeGlobal'] = function(name) {
return preserveStack(function() {
return Module['_BinaryenRemoveGlobal'](module, strToStack(name));