From ded5f8f464ff16e86310c8128c1ff83c4eb9ee0f Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Thu, 26 Oct 2006 20:39:10 +0000 Subject: [PATCH] ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative when choosing the minimum heapsize. * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative when choosing the minimum heapsize. Co-Authored-By: Nathan Sidwell From-SVN: r118070 --- gcc/ChangeLog | 6 ++++++ gcc/ggc-common.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6897b48969..c4699707b09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-10-26 Nathan Froyd + Nathan Sidwell + + * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative + when choosing the minimum heapsize. + 2006-10-26 Nathan Froyd * gcc/unwind-dw2.h: Move cfa-related variables into diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index fe75320bdb1..3cafc770efd 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -751,10 +751,10 @@ ggc_min_heapsize_heuristic (void) # endif /* Don't blindly run over our data limit; do GC at least when the - *next* GC would be within 16Mb of the limit. If GCC does hit the - data limit, compilation will fail, so this tries to be - conservative. */ - limit_kbytes = MAX (0, limit_kbytes - 16 * 1024); + *next* GC would be within 20Mb of the limit or within a quarter of + the limit, whichever is larger. If GCC does hit the data limit, + compilation will fail, so this tries to be conservative. */ + limit_kbytes = MAX (0, limit_kbytes - MAX (limit_kbytes / 4, 20 * 1024)); limit_kbytes = (limit_kbytes * 100) / (110 + ggc_min_expand_heuristic()); phys_kbytes = MIN (phys_kbytes, limit_kbytes); -- 2.30.2