Default to infinite stack size (#8189)
When servicing a stack overflows, only throw an exception to the given thread if the user explicitly set a max stack size, using +RTS -K. Otherwise just service it normally and grow the stack. In case we actually run out of *heap* (stack chuncks are allocated on the heap), then we need to bail by calling the stackOverflow() hook and exit immediately. Authored-by:Ben Gamari <bgamari.foss@gmail.com> Signed-off-by:
Austin Seipp <aseipp@pobox.com>
Showing
- docs/users_guide/runtime_control.xml 7 additions, 4 deletionsdocs/users_guide/runtime_control.xml
- includes/Rts.h 2 additions, 1 deletionincludes/Rts.h
- includes/rts/Constants.h 1 addition, 1 deletionincludes/rts/Constants.h
- includes/rts/storage/GC.h 10 additions, 3 deletionsincludes/rts/storage/GC.h
- rts/RtsFlags.c 2 additions, 2 deletionsrts/RtsFlags.c
- rts/RtsUtils.c 3 additions, 3 deletionsrts/RtsUtils.c
- rts/Schedule.c 1 addition, 1 deletionrts/Schedule.c
- rts/Threads.c 8 additions, 2 deletionsrts/Threads.c
- rts/sm/Storage.c 39 additions, 16 deletionsrts/sm/Storage.c
Loading
Please register or sign in to comment