diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-07 14:23:24 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-07 14:23:24 -0800 |
commit | a54be54b62f68ccf99ff3487783e2b8619371ae1 (patch) | |
tree | 0809a34ebfad0059bc09876cd6120c5d4a4169ba /src | |
parent | 264a3bdab4496d907a934dc1e8e680846b3254b5 (diff) | |
download | binaryen-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.cpp | 7 |
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 |