mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-26 07:40:26 +08:00
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
This commit is contained in:
parent
a38677037c
commit
ded5f8f464
@ -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
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user