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-discuss+unsubscr...@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/CAL_va28Md1SE1f0nVk8QNX%2Bq%3DLFR3W7waqa0dKTqafDgLfO%3Diw%40mail.gmail.com.

Reply via email to