summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-11-07 14:23:24 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-11-07 14:23:24 -0800
commita54be54b62f68ccf99ff3487783e2b8619371ae1 (patch)
tree0809a34ebfad0059bc09876cd6120c5d4a4169ba /src
parent264a3bdab4496d907a934dc1e8e680846b3254b5 (diff)
downloadbinaryen-a54be54b62f68ccf99ff3487783e2b8619371ae1.tar.gz
binaryen-a54be54b62f68ccf99ff3487783e2b8619371ae1.tar.bz2
binaryen-a54be54b62f68ccf99ff3487783e2b8619371ae1.zip
fix export calls in wasm.js
Diffstat (limited to 'src')
-rw-r--r--src/wasm-js.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp
index b26a5b4d6..a65eedd0f 100644
--- a/src/wasm-js.cpp
+++ b/src/wasm-js.cpp
@@ -209,8 +209,9 @@ extern "C" double EMSCRIPTEN_KEEPALIVE call_from_js(const char *target) {
#ifdef WASM_JS_DEBUG
std::cout << "call_from_js " << target << '\n';
#endif
- IString name(target);
- Function *function = instance->wasm.functionsMap[name];
+ IString exportName(target);
+ IString functionName = instance->wasm.exportsMap[exportName]->value;
+ Function *function = instance->wasm.functionsMap[functionName];
assert(function);
size_t seen = EM_ASM_INT_V({ return Module['tempArguments'].length });
size_t actual = function->params.size();
@@ -228,7 +229,7 @@ extern "C" double EMSCRIPTEN_KEEPALIVE call_from_js(const char *target) {
abort();
}
}
- Literal ret = instance->callExport(name, arguments);
+ Literal ret = instance->callExport(exportName, arguments);
#ifdef WASM_JS_DEBUG
std::cout << "call_from_js returning " << ret << '\n';
#endif