I checked with my stuff, and the impact is much smaller than I expected. - sokol-samples, doom-sokol and the 6502 and Z80 netlist simulations all work with 64KB stack (I would never have expected this tbh):
https://floooh.github.io/sokol-html5/ https://floooh.github.io/doom-sokol/ https://floooh.github.io/visual6502remix/ https://floooh.github.io/visualz80remix/ - my home computer emulators need to be bumped to 128KB stack (I'm probably doing something dumb in the initialization): https://floooh.github.io/tiny8bit/ I think I'll settle for a default stack size of 512 KBytes via a configurable cmake option in my build system wrapper. Cheers! On Wednesday, 30 November 2022 at 18:19:47 UTC+1 s...@google.com wrote: > 3.1.27 has now been released and includes the reduction in the default > stack size. > > We do expect some folks to be affected by this and have to add > `-sSTACK_SIZE=XXMB` to thier link flags. If the effect is very widespread > we can reconsider the rather drastic reduction. > > cheers, > sam > > On Tue, Nov 22, 2022 at 2:36 PM Sam Clegg <s...@google.com> wrote: > >> Bumping this once again because I'm hoping to land the default stack size >> reduction change soon: >> https://github.com/emscripten-core/emscripten/pull/18191 >> >> In the end I decided to put the stack first in debug builds which gives a >> nice, consistent, error message on stack overflow: >> https://github.com/emscripten-core/emscripten/pull/18154 >> >> We also decided to go with 64KB default to match wasm-ld and wasi-sdk >> defaults. >> >> I'll post again here once/if it lands. >> >> cheers, >> sam >> >> On Wed, Oct 12, 2022 at 6:27 PM Sam Clegg <s...@google.com> wrote: >> >>> emscripten_stack_get_current is also designed to be super fast (its >>> basically just a single `global.get` instruction). >>> >>> On Wed, Oct 12, 2022 at 6:26 PM Sam Clegg <s...@google.com> wrote: >>> >>>> >>>> >>>> On Wed, Oct 12, 2022 at 2:22 AM Floh <flo...@gmail.com> wrote: >>>> >>>>> PS: what would be *really* nice is a way to query the current and >>>>> 'high water mark' stack sizes (only in debug mode, or with a specific >>>>> build >>>>> option), to get an idea how much stack a program/thread is using, instead >>>>> of depending on trial-and-error. >>>>> >>>> >>>> The current value is accessible via ` emscripten_stack_get_current` >>>> defined in `emscripten/stack.h`: >>>> https://github.com/emscripten-core/emscripten/blob/main/system/include/emscripten/stack.h >>>> >>>> Tracking the high water mark could be done with same binaryen pass that >>>> currently implement STACK_OVERFLOW_CHECK.. but it's not something we do at >>>> this point. >>>> >>>> >>>> >>>>> On Tuesday, 11 October 2022 at 17:27:07 UTC+2 s...@google.com wrote: >>>>> >>>>>> On Tue, Oct 11, 2022 at 12:13 AM Floh <flo...@gmail.com> wrote: >>>>>> >>>>>>> My C code is still quite stack heavy, because a lot of my code >>>>>>> essentially uses the stack as per-frame arena allocator ;) But I guess >>>>>>> as >>>>>>> long as there's a compiler/linker option to set the stack size I think >>>>>>> it's >>>>>>> fine. >>>>>>> >>>>>>> Will a stack overflow cause a proper runtime error, or will this >>>>>>> result 'undefined behaviour'? >>>>>>> >>>>>> >>>>>> The plan is to enable `STACK_OVERFLOW_CHECK=2` in debug (-O0) builds >>>>>> (currently we just use `STACK_OVERFLOW_CHECK=1`). This should give >>>>>> precise errors at the point of overflow. >>>>>> >>>>>> >>>>>>> On Tuesday, 11 October 2022 at 01:34:07 UTC+2 s...@google.com wrote: >>>>>>> >>>>>>>> Bumping this discussion because I'm taking a look at landing this >>>>>>>> once again. >>>>>>>> >>>>>>>> In answer to the pthread question: Yes I'm planning on changing the >>>>>>>> default for both the main thread and pthreads (The plan is to make >>>>>>>> them the >>>>>>>> same by default). >>>>>>>> >>>>>>>> On Fri, Jul 9, 2021 at 3:24 AM 'Maksim Ivanov' via >>>>>>>> emscripten-discuss <emscripte...@googlegroups.com> wrote: >>>>>>>> >>>>>>>>> One question: Will this planned change only affect is only for the >>>>>>>>> main thread? In case there's no change for background threads (e.g., >>>>>>>>> created via pthreads), it'll be useful to mention it somewhere. >>>>>>>>> >>>>>>>>> On Thursday, May 27, 2021 at 2:01:11 PM UTC+2 jj wrote: >>>>>>>>> >>>>>>>>>> ke 19. toukok. 2021 klo 11.27 Floh (flo...@gmail.com) kirjoitti: >>>>>>>>>> > 1 MB is quite certainly ok (but might be a problem for code >>>>>>>>>> with lots of recursions?), but I think 64 KByte is asking for >>>>>>>>>> trouble ;) >>>>>>>>>> >>>>>>>>>> Btw, I would recommend you to try how small you can go. I would >>>>>>>>>> be >>>>>>>>>> surprised if you are running into issues with 64KB today. >>>>>>>>>> (recursions >>>>>>>>>> won't increase to this limit, unless the recursing functions have >>>>>>>>>> locals that have their addresses taken) >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "emscripten-discuss" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to emscripten-disc...@googlegroups.com. >>>>>>>>> >>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/emscripten-discuss/d7c00f7e-6bc2-4ae8-ae2d-0353ae4cff80n%40googlegroups.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/d7c00f7e-6bc2-4ae8-ae2d-0353ae4cff80n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "emscripten-discuss" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to emscripten-disc...@googlegroups.com. >>>>>>> >>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/emscripten-discuss/7c70d4dc-d14b-4282-9a82-1c1e08393dd0n%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/7c70d4dc-d14b-4282-9a82-1c1e08393dd0n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "emscripten-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to emscripten-disc...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/emscripten-discuss/218eec81-edce-45b7-b061-a1d57f381d3an%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/emscripten-discuss/218eec81-edce-45b7-b061-a1d57f381d3an%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/27fb6c31-1cdb-4949-84e9-336946b6d3d6n%40googlegroups.com.