[commit: ghc] master: Default to infinite stack size (#8189) (d85044f)

git at git.haskell.org git at git.haskell.org
Sun Sep 8 10:56:44 CEST 2013


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d85044f6b201eae0a9e453b89c0433608e0778f0/ghc

>---------------------------------------------------------------

commit d85044f6b201eae0a9e453b89c0433608e0778f0
Author: Austin Seipp <aseipp at pobox.com>
Date:   Sun Sep 8 02:08:45 2013 -0500

    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 at gmail.com>
    Signed-off-by: Austin Seipp <aseipp at pobox.com>


>---------------------------------------------------------------

d85044f6b201eae0a9e453b89c0433608e0778f0
 docs/users_guide/runtime_control.xml |   11 +++++---
 includes/Rts.h                       |    3 ++-
 includes/rts/Constants.h             |    2 +-
 includes/rts/storage/GC.h            |   13 ++++++---
 rts/RtsFlags.c                       |    4 +--
 rts/RtsUtils.c                       |    6 ++---
 rts/Schedule.c                       |    2 +-
 rts/Threads.c                        |   10 +++++--
 rts/sm/Storage.c                     |   49 +++++++++++++++++++++++++---------
 9 files changed, 70 insertions(+), 30 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d85044f6b201eae0a9e453b89c0433608e0778f0




More information about the ghc-commits mailing list