diff --git a/src/library.js b/src/library.js index c7dc8bf6a1455..13fdf52fc7827 100644 --- a/src/library.js +++ b/src/library.js @@ -188,9 +188,10 @@ addToLibrary({ // Grows the wasm memory to the given byte size, and updates the JS views to // it. Returns 1 on success, 0 on error. + $growMemory__deps: ['$alignMemory'], $growMemory: (size) => { var b = wasmMemory.buffer; - var pages = (size - b.byteLength + {{{ WASM_PAGE_SIZE - 1 }}}) / {{{ WASM_PAGE_SIZE }}}; + var pages = alignMemory(size - b.byteLength, {{{ WASM_PAGE_SIZE }}}) / {{{ WASM_PAGE_SIZE }}}; #if RUNTIME_DEBUG dbg(`growMemory: ${size} (+${size - b.byteLength} bytes / ${pages} pages)`); #endif @@ -2262,7 +2263,7 @@ addToLibrary({ #if ASSERTIONS assert(alignment, "alignment argument is required"); #endif - return Math.ceil(size / alignment) * alignment; + return ((size + (alignment - 1)) / alignment) | 0; }, // Allocate memory for an mmap operation. This allocates space of the right diff --git a/test/other/metadce/test_metadce_hello_dylink.jssize b/test/other/metadce/test_metadce_hello_dylink.jssize index d91a3314c13d6..d4f33fe3e8f3a 100644 --- a/test/other/metadce/test_metadce_hello_dylink.jssize +++ b/test/other/metadce/test_metadce_hello_dylink.jssize @@ -1 +1 @@ -13895 +13887 diff --git a/test/other/metadce/test_metadce_mem_O3_grow.gzsize b/test/other/metadce/test_metadce_mem_O3_grow.gzsize index ccea39fb1e0db..b8b2310fdb1f2 100644 --- a/test/other/metadce/test_metadce_mem_O3_grow.gzsize +++ b/test/other/metadce/test_metadce_mem_O3_grow.gzsize @@ -1 +1 @@ -2570 +2575 diff --git a/test/other/metadce/test_metadce_mem_O3_grow.jssize b/test/other/metadce/test_metadce_mem_O3_grow.jssize index a695526401994..c19623257be4b 100644 --- a/test/other/metadce/test_metadce_mem_O3_grow.jssize +++ b/test/other/metadce/test_metadce_mem_O3_grow.jssize @@ -1 +1 @@ -5344 +5355