diff options
-rwxr-xr-x | build.sh | 2 | ||||
-rwxr-xr-x | emcc_to_polyfill.sh | 2 | ||||
-rw-r--r-- | src/js/post.js | 2 | ||||
-rw-r--r-- | src/wasm-js.cpp | 26 |
4 files changed, 16 insertions, 16 deletions
@@ -1,6 +1,6 @@ echo "building asm2wasm" g++ -std=c++11 src/asm2wasm-main.cpp src/parser.cpp src/simple_ast.cpp src/optimizer-shared.cpp -g -o bin/asm2wasm echo "building interpreter/js" -em++ -std=c++11 src/wasm-js.cpp src/parser.cpp src/simple_ast.cpp src/optimizer-shared.cpp -o bin/wasm.js -s MODULARIZE=1 -s 'EXPORT_NAME="WasmJS"' --memory-init-file 0 -s DEMANGLE_SUPPORT=1 -O2 -profiling +em++ -std=c++11 src/wasm-js.cpp src/parser.cpp src/simple_ast.cpp src/optimizer-shared.cpp -o bin/wasm.js -s MODULARIZE=1 -s 'EXPORT_NAME="WasmJS"' --memory-init-file 0 -s DEMANGLE_SUPPORT=1 -O2 -profiling -s TOTAL_MEMORY=67108864 cat src/js/post.js >> bin/wasm.js diff --git a/emcc_to_polyfill.sh b/emcc_to_polyfill.sh index 5b4442821..7fa54f84b 100755 --- a/emcc_to_polyfill.sh +++ b/emcc_to_polyfill.sh @@ -1,7 +1,7 @@ #!/bin/sh echo "calling emcc" -emcc $1 -o a.html --separate-asm -O2 -profiling +emcc $1 -o a.html --separate-asm -O2 -profiling -s DEMANGLE_SUPPORT=1 -s TOTAL_MEMORY=67108864 # we now have a.asm.js and a.js diff --git a/src/js/post.js b/src/js/post.js index 78fad1fc8..fe9e1b516 100644 --- a/src/js/post.js +++ b/src/js/post.js @@ -22,7 +22,7 @@ wasmJS._free(temp); // Generate memory XXX TODO get the right size - var theBuffer = Module['buffer'] = new ArrayBuffer(16*1024*1024); + var theBuffer = Module['buffer'] = new ArrayBuffer(64*1024*1024); // Information for the instance of the module. var info = wasmJS['info'] = { diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp index a0c9a0f13..05edcc683 100644 --- a/src/wasm-js.cpp +++ b/src/wasm-js.cpp @@ -103,29 +103,29 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_asm(char *input) { if (!load->float_) { if (load->bytes == 1) { if (load->signed_) { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAP8'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAP8'][$0] }, addr)); } else { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAPU8'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAPU8'][$0] }, addr)); } } else if (load->bytes == 2) { if (load->signed_) { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAP16'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAP16'][$0] }, addr)); } else { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAPU16'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAPU16'][$0] }, addr)); } } else if (load->bytes == 4) { if (load->signed_) { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAP32'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAP32'][$0] }, addr)); } else { - return Literal(EM_ASM_INT({ return Module['instance'].parent['HEAPU32'][$0] }, addr)); + return Literal(EM_ASM_INT({ return Module['info'].parent['HEAPU32'][$0] }, addr)); } } abort(); } else { if (load->bytes == 4) { - return Literal(EM_ASM_DOUBLE({ return Module['instance'].parent['HEAPF32'][$0] }, addr)); + return Literal(EM_ASM_DOUBLE({ return Module['info'].parent['HEAPF32'][$0] }, addr)); } else if (load->bytes == 8) { - return Literal(EM_ASM_DOUBLE({ return Module['instance'].parent['HEAPF64'][$0] }, addr)); + return Literal(EM_ASM_DOUBLE({ return Module['info'].parent['HEAPF64'][$0] }, addr)); } abort(); } @@ -136,18 +136,18 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_asm(char *input) { assert(store->align == store->bytes); if (!store->float_) { if (store->bytes == 1) { - EM_ASM_INT({ Module['instance'].parent['HEAP8'][$0] = $1 }, addr, value.geti32()); + EM_ASM_INT({ Module['info'].parent['HEAP8'][$0] = $1 }, addr, value.geti32()); } else if (store->bytes == 2) { - EM_ASM_INT({ Module['instance'].parent['HEAP16'][$0] = $1 }, addr, value.geti32()); + EM_ASM_INT({ Module['info'].parent['HEAP16'][$0] = $1 }, addr, value.geti32()); } else if (store->bytes == 4) { - EM_ASM_INT({ Module['instance'].parent['HEAP32'][$0] = $1 }, addr, value.geti32()); + EM_ASM_INT({ Module['info'].parent['HEAP32'][$0] = $1 }, addr, value.geti32()); } abort(); } else { if (store->bytes == 4) { - EM_ASM_DOUBLE({ Module['instance'].parent['HEAPF32'][$0] = $1 }, addr, value.getf64()); + EM_ASM_DOUBLE({ Module['info'].parent['HEAPF32'][$0] = $1 }, addr, value.getf64()); } else if (store->bytes == 8) { - EM_ASM_DOUBLE({ Module['instance'].parent['HEAPF64'][$0] = $1 }, addr, value.getf64()); + EM_ASM_DOUBLE({ Module['info'].parent['HEAPF64'][$0] = $1 }, addr, value.getf64()); } abort(); } |