diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2006-10-26 20:39:10 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2006-10-26 20:39:10 +0000 |
commit | ded5f8f464ff16e86310c8128c1ff83c4eb9ee0f (patch) | |
tree | 0d31700f667ffc325c2da4256a1a1e9f0e7e830f /gcc/ggc-common.c | |
parent | a38677037cca7c646a7b6211483caeb3d69fc1f0 (diff) | |
download | gcc-ded5f8f464ff16e86310c8128c1ff83c4eb9ee0f.tar.gz |
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 <nathan@codesourcery.com>
From-SVN: r118070
Diffstat (limited to 'gcc/ggc-common.c')
-rw-r--r-- | gcc/ggc-common.c | 8 |
1 files changed, 4 insertions, 4 deletions
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); |