From d4171920b4d87f23e9e962df09b34278416abb02 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 3 Sep 2019 20:00:54 +0200 Subject: Add mutable parameter to global imports in C/JS API (#2317) --- src/binaryen-c.cpp | 6 ++++-- src/binaryen-c.h | 3 ++- src/js/binaryen.js-post.js | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src') 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) { -- cgit v1.2.3