diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/js/wasm.js-post.js | 11 | ||||
-rw-r--r-- | src/wasm-js.cpp | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/js/wasm.js-post.js b/src/js/wasm.js-post.js index 3d476c62d..12e9e5315 100644 --- a/src/js/wasm.js-post.js +++ b/src/js/wasm.js-post.js @@ -236,14 +236,19 @@ function integrateWasmJS(Module) { } else { code = Module['read'](method == 'asm2wasm' ? asmjsCodeFile : wasmTextFile); } - var temp = wasmJS['_malloc'](code.length + 1); - wasmJS['writeAsciiToMemory'](code, temp); + var temp; if (method == 'asm2wasm') { + temp = wasmJS['_malloc'](code.length + 1); + wasmJS['writeAsciiToMemory'](code, temp); wasmJS['_load_asm2wasm'](temp); } else if (method === 'wasm-s-parser') { + temp = wasmJS['_malloc'](code.length + 1); + wasmJS['writeAsciiToMemory'](code, temp); wasmJS['_load_s_expr2wasm'](temp); } else if (method === 'wasm-binary') { - wasmJS['_load_binary2wasm'](temp); + temp = wasmJS['_malloc'](code.length); + wasmJS['HEAPU8'].set(code, temp); + wasmJS['_load_binary2wasm'](temp, code.length); } else { throw 'what? ' + method; } diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp index 6a2b4aedd..3083b3b9e 100644 --- a/src/wasm-js.cpp +++ b/src/wasm-js.cpp @@ -116,7 +116,7 @@ void finalizeModule() { } // loads wasm code in s-expression format -extern "C" void EMSCRIPTEN_KEEPALIVE load_s_expr2wasm(char *input, char *mappedGlobals) { +extern "C" void EMSCRIPTEN_KEEPALIVE load_s_expr2wasm(char *input) { prepare2wasm(); if (wasmJSDebug) std::cerr << "wasm-s-expression parsing...\n"; @@ -138,7 +138,7 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_s_expr2wasm(char *input, char *mappedG } // loads wasm code in binary format -extern "C" void EMSCRIPTEN_KEEPALIVE load_binary2wasm(char *raw, int32_t size, char *mappedGlobals) { +extern "C" void EMSCRIPTEN_KEEPALIVE load_binary2wasm(char *raw, int32_t size) { prepare2wasm(); if (wasmJSDebug) std::cerr << "wasm-binary parsing...\n"; |