diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-11-02 11:25:38 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-11-02 11:25:38 -0800 |
commit | 8d25878a2d49199079b7c81a396ee2d4fb03032d (patch) | |
tree | 8536de4596d2bb793b518619081c58338b16d551 | |
parent | 1e3848b2e5f0ea947d67954ab3044a3653eacb23 (diff) | |
download | binaryen-8d25878a2d49199079b7c81a396ee2d4fb03032d.tar.gz binaryen-8d25878a2d49199079b7c81a396ee2d4fb03032d.tar.bz2 binaryen-8d25878a2d49199079b7c81a396ee2d4fb03032d.zip |
wasm.js debugging
-rw-r--r-- | src/wasm-js.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp index ae5957ec7..dc8f1222d 100644 --- a/src/wasm-js.cpp +++ b/src/wasm-js.cpp @@ -81,6 +81,9 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_asm(char *input) { struct JSExternalInterface : ModuleInstance::ExternalInterface { Literal callImport(Import *import, ModuleInstance::LiteralList& arguments) override { +#ifdef WASM_JS_DEBUG + std::cout << "calling import " << import->name.str << '\n'; +#endif EM_ASM({ Module['tempArguments'] = []; }); @@ -101,6 +104,9 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_asm(char *input) { var lookup = Module['lookupImport'](mod, base); return lookup.apply(null, tempArguments); }, import->module.str, import->base.str); +#ifdef WASM_JS_DEBUG + std::cout << "calling import returning " << ret << '\n'; +#endif switch (import->type.result) { case none: return Literal(0); case i32: return Literal((int32_t)ret); @@ -191,6 +197,9 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_mapped_globals() { // Does a call from js into an export of the module. 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); assert(instance->functions.find(name) != instance->functions.end()); Function *function = instance->functions[name]; @@ -210,8 +219,10 @@ extern "C" double EMSCRIPTEN_KEEPALIVE call_from_js(const char *target) { abort(); } } - Literal ret = instance->callFunction(name, arguments); +#ifdef WASM_JS_DEBUG + std::cout << "call_from_js returning " << ret << '\n'; +#endif if (ret.type == none) return 0; if (ret.type == i32) return ret.i32; if (ret.type == f32) return ret.f32; |