diff options
author | Simon Marlow <marlowsd@gmail.com> | 2017-04-01 19:52:40 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-04-02 12:01:47 -0400 |
commit | 61ba4518a48727f8cd7b821bd41631da82d37425 (patch) | |
tree | 421493e6de4af7744876c7a927b60e2a7b452112 /includes/Rts.h | |
parent | d89b0471888b15844b8bbf68159fe50830be8b24 (diff) | |
download | haskell-61ba4518a48727f8cd7b821bd41631da82d37425.tar.gz |
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
Diffstat (limited to 'includes/Rts.h')
-rw-r--r-- | includes/Rts.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/includes/Rts.h b/includes/Rts.h index fc010d4d97..be49b326f2 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -218,7 +218,8 @@ void getWin32ProgArgv(int *argc, wchar_t **argv[]); void setWin32ProgArgv(int argc, wchar_t *argv[]); #endif -void stackOverflow(StgTSO* tso); +void reportStackOverflow(StgTSO* tso); +void reportHeapOverflow(void); void stg_exit(int n) GNU_ATTRIBUTE(__noreturn__); |