summaryrefslogtreecommitdiff
path: root/src/js/wasm.js-post.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-01 16:31:43 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-01 16:31:43 -0700
commit1bf1dd8864d7752ef23d55907f3664e43cabc059 (patch)
treecb5e981dbf38d3ba4d97a28ea937da86a6df8849 /src/js/wasm.js-post.js
parent6daea13bd8e31bbf098a2c0bef92932f70a6f47f (diff)
downloadbinaryen-1bf1dd8864d7752ef23d55907f3664e43cabc059.tar.gz
binaryen-1bf1dd8864d7752ef23d55907f3664e43cabc059.tar.bz2
binaryen-1bf1dd8864d7752ef23d55907f3664e43cabc059.zip
fix reallocBuffer to send growWasmMemory a size in pages
Diffstat (limited to 'src/js/wasm.js-post.js')
-rw-r--r--src/js/wasm.js-post.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/js/wasm.js-post.js b/src/js/wasm.js-post.js
index 9851fc777..fefc2f12a 100644
--- a/src/js/wasm.js-post.js
+++ b/src/js/wasm.js-post.js
@@ -36,6 +36,8 @@ function integrateWasmJS(Module) {
// utilities
+ var wasmPageSize = 64*1024;
+
var asm2wasmImports = { // special asm2wasm imports
"f64-rem": function(x, y) {
return x % y;
@@ -94,8 +96,9 @@ function integrateWasmJS(Module) {
updateGlobalBuffer(newBuffer);
updateGlobalBufferViews();
Module['reallocBuffer'] = function(size) {
+ size = Math.ceil(size / wasmPageSize) * wasmPageSize; // round up to wasm page size
var old = Module['buffer'];
- exports['__growWasmMemory'](size); // tiny wasm method that just does grow_memory
+ exports['__growWasmMemory'](size / wasmPageSize); // tiny wasm method that just does grow_memory
return Module['buffer'] !== old ? Module['buffer'] : null; // if it was reallocated, it changed
};
}