summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-03-12 16:27:09 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-03-12 16:41:52 -0800
commit6b215997b21fdf86c430fc184909804af7b44069 (patch)
treee7de148873cd3989dce66b31101956433a1bb1cc /src
parent0cfe85c2d52a5cb5c64065d029375b005c9bc541 (diff)
downloadbinaryen-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.js11
-rw-r--r--src/wasm-js.cpp4
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";