]> gcc.gnu.org Git - gcc.git/commitdiff
ggc-common.c (ggc_min_heapsize_heuristic): Be more conservative when choosing the...
authorNathan Froyd <froydnj@codesourcery.com>
Thu, 26 Oct 2006 20:39:10 +0000 (20:39 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Thu, 26 Oct 2006 20:39:10 +0000 (20:39 +0000)
      * 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

gcc/ChangeLog
gcc/ggc-common.c

index e6897b48969a52626ee31a88cc4a35fd272e2f9a..c4699707b092456d0d6192c45ff25bde6b59ce53 100644 (file)
@@ -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
index fe75320bdb1cd256bd67a355fbbb5c8f6f29e159..3cafc770efd00fa991ed1a88df7c5a2fbe2e4aac 100644 (file)
@@ -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);
 
This page took 0.081341 seconds and 5 git commands to generate.