[commit: ghc] master: Report heap overflow in the same way as stack overflow (61ba451)

git at git.haskell.org git at git.haskell.org
Sun Apr 2 16:02:27 UTC 2017


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

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

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

commit 61ba4518a48727f8cd7b821bd41631da82d37425
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Sat Apr 1 19:52:40 2017 -0400

    Report heap overflow in the same way as stack overflow
    
    Now that we throw an exception for heap overflow, we should only print
    the heap overflow message in the main thread when the HeapOverflow
    exception is caught, rather than as a side effect in the GC.
    
    Stack overflows were already done this way, I just made heap overflow
    consistent with stack overflow, and did some related cleanup.
    
    Fixes broken T2592(profasm) which was reporting the heap overflow
    message twice (you would only notice when building with profiling
    libs enabled).
    
    Test Plan: validate
    
    Reviewers: bgamari, niteria, austin, DemiMarie, hvr, erikd
    
    Reviewed By: bgamari
    
    Subscribers: rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3394


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

61ba4518a48727f8cd7b821bd41631da82d37425
 includes/Rts.h                         |  3 ++-
 libraries/base/GHC/Conc.hs             |  2 +-
 libraries/base/GHC/Conc/Sync.hs        | 11 +++++++----
 libraries/base/GHC/TopHandler.hs       |  5 +++--
 rts/RtsSymbols.c                       |  3 ++-
 rts/RtsUtils.c                         | 20 ++++++--------------
 rts/RtsUtils.h                         |  2 --
 rts/sm/CNF.c                           |  4 ++--
 rts/sm/GC.c                            | 11 +++++++++++
 rts/sm/Storage.c                       |  2 +-
 testsuite/tests/rts/T1791/T1791.stderr |  3 ---
 11 files changed, 35 insertions(+), 31 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 61ba4518a48727f8cd7b821bd41631da82d37425


More information about the ghc-commits mailing list