diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-03-12 16:27:09 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-03-12 16:41:52 -0800 |
commit | 6b215997b21fdf86c430fc184909804af7b44069 (patch) | |
tree | e7de148873cd3989dce66b31101956433a1bb1cc /src | |
parent | 0cfe85c2d52a5cb5c64065d029375b005c9bc541 (diff) | |
download | binaryen-6b215997b21fdf86c430fc184909804af7b44069.tar.gz binaryen-6b215997b21fdf86c430fc184909804af7b44069.tar.bz2 binaryen-6b215997b21fdf86c430fc184909804af7b44069.zip |
finish wasm-binary method and update emscripten
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"; |