summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2019-09-03 20:00:54 +0200
committerAlon Zakai <azakai@google.com>2019-09-03 11:00:54 -0700
commitd4171920b4d87f23e9e962df09b34278416abb02 (patch)
treef742e12cd33f6341bad73b1eab1551fe75234ed2 /src
parent6cec37ef2e38ae1844c61832566cfc22cb3e0ef6 (diff)
downloadbinaryen-d4171920b4d87f23e9e962df09b34278416abb02.tar.gz
binaryen-d4171920b4d87f23e9e962df09b34278416abb02.tar.bz2
binaryen-d4171920b4d87f23e9e962df09b34278416abb02.zip
Add mutable parameter to global imports in C/JS API (#2317)
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp6
-rw-r--r--src/binaryen-c.h3
-rw-r--r--src/js/binaryen.js-post.js4
3 files changed, 8 insertions, 5 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 9743dbcd9..cbaa513ac 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -3150,20 +3150,22 @@ void BinaryenAddGlobalImport(BinaryenModuleRef module,
const char* internalName,
const char* externalModuleName,
const char* externalBaseName,
- BinaryenType globalType) {
+ BinaryenType globalType,
+ int mutable_) {
auto* wasm = (Module*)module;
auto* ret = new Global();
if (tracing) {
std::cout << " BinaryenAddGlobalImport(the_module, \"" << internalName
<< "\", \"" << externalModuleName << "\", \"" << externalBaseName
- << "\", " << globalType << ");\n";
+ << "\", " << globalType << ", " << mutable_ << ");\n";
}
ret->name = internalName;
ret->module = externalModuleName;
ret->base = externalBaseName;
ret->type = Type(globalType);
+ ret->mutable_ = mutable_ != 0;
wasm->addGlobal(ret);
}
void BinaryenAddEventImport(BinaryenModuleRef module,
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 71e68464b..451dcf23f 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -939,7 +939,8 @@ void BinaryenAddGlobalImport(BinaryenModuleRef module,
const char* internalName,
const char* externalModuleName,
const char* externalBaseName,
- BinaryenType globalType);
+ BinaryenType globalType,
+ int mutable_);
void BinaryenAddEventImport(BinaryenModuleRef module,
const char* internalName,
const char* externalModuleName,
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 4537140eb..30a023b2c 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -1886,9 +1886,9 @@ function wrapModule(module, self) {
return Module['_BinaryenAddMemoryImport'](module, strToStack(internalName), strToStack(externalModuleName), strToStack(externalBaseName), shared);
});
};
- self['addGlobalImport'] = function(internalName, externalModuleName, externalBaseName, globalType) {
+ self['addGlobalImport'] = function(internalName, externalModuleName, externalBaseName, globalType, mutable) {
return preserveStack(function() {
- return Module['_BinaryenAddGlobalImport'](module, strToStack(internalName), strToStack(externalModuleName), strToStack(externalBaseName), globalType);
+ return Module['_BinaryenAddGlobalImport'](module, strToStack(internalName), strToStack(externalModuleName), strToStack(externalBaseName), globalType, mutable);
});
};
self['addEventImport'] = function(internalName, externalModuleName, externalBaseName, attribute, eventType) {