diff options
| author | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-26 20:39:10 +0000 |
|---|---|---|
| committer | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-26 20:39:10 +0000 |
| commit | 3a1e1e08c3dced3f10087aeb411c074495adeaa1 (patch) | |
| tree | 0d31700f667ffc325c2da4256a1a1e9f0e7e830f | |
| parent | d07c830b3a1bc435363170abf10aa37e09c98ce3 (diff) | |
| download | ppe42-gcc-3a1e1e08c3dced3f10087aeb411c074495adeaa1.tar.gz ppe42-gcc-3a1e1e08c3dced3f10087aeb411c074495adeaa1.zip | |
* ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative
when choosing the minimum heapsize.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118070 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | 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 <froydnj@codesourcery.com> + Nathan Sidwell <nathan@codesourcery.com> + + * ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative + when choosing the minimum heapsize. + 2006-10-26 Nathan Froyd <froydnj@codesourcery.com> * 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); |

