summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.sh2
-rwxr-xr-xemcc_to_polyfill.sh2
-rw-r--r--src/js/post.js2
-rw-r--r--src/wasm-js.cpp26
4 files changed, 16 insertions, 16 deletions
diff --git a/build.sh b/build.sh
index 385f0c1dd..248c299d4 100755
--- a/build.sh
+++ b/build.sh
@@ -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();
}