From 8fa545c76c35dd7954220eb172a1783044794168 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Fri, 16 Apr 2021 18:07:15 +0100 Subject: [PATCH] Set ALLOW_MEMORY_GROWTH in the Emscripten build. How embarrassing. When I updated the Emscripten build to use WASM, a major reason I bothered to do it at all was that I'd heard that WASM was capable of reallocating its memory arena larger on the fly. Turns out that it _can_, but only if you specifically set the option in Emscripten to allow it. With this option set, I can finish a 25x25 Galaxies, where previously the game would crash part way through (and not even a very large part) with errors about memory growth in the Javascript console. --- cmake/platforms/emscripten.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/platforms/emscripten.cmake b/cmake/platforms/emscripten.cmake index 89223a5..bbb0897 100644 --- a/cmake/platforms/emscripten.cmake +++ b/cmake/platforms/emscripten.cmake @@ -30,6 +30,7 @@ list(TRANSFORM emcc_export_list PREPEND \") list(TRANSFORM emcc_export_list APPEND \") string(JOIN "," emcc_export_string ${emcc_export_list}) set(CMAKE_C_LINK_FLAGS "\ +-s ALLOW_MEMORY_GROWTH=1 \ -s EXPORTED_FUNCTIONS='[${emcc_export_string}]' \ -s EXTRA_EXPORTED_RUNTIME_METHODS='[cwrap,callMain]'")