Conversation

The call stack in basically every programming environment is a virtual memory system with overcommit and allocation that never returns errors.
5
68
i.e. read a byte from each page just past the desired limit and install an actual guard page/region rather than relying on the magical automatically growing guard region it usually provides. Only thing I have seen doing this is ART for reliably throwing stack overflow exception.
1
1
Show replies
Replying to and
It's usually configured to allow 8M though (default since 1995) so programs have grown to rely on being able to put 16k-64k buffers and tons of other data on the stack. It's treated as best practice for performance and it does make a lot of sense. Can avoid the dynamic errors.
1
Show replies