This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Increasing minimum GC allocation


As discussed previously.  Approved by Richard Henderson, tested on
i386-linux per usual.

The change to ggc_print_statistics makes the leftmost column report
the actual size instead of its base-2 logarithm.  This is more useful
now the sizes aren't all powers of two.  That part was not discussed
previously but I feel it's an obvious (if cosmetic) change.

zw

	* ggc-page.c (size_lookup): Increase minimum allocation size
	to eight bytes.
	(ggc_print_statistics): Report size of each bin in bytes, not
	as its order; there is no longer a direct relationship.

===================================================================
Index: ggc-page.c
--- ggc-page.c	2001/02/20 05:49:05	1.39
+++ ggc-page.c	2001/05/31 04:55:56
@@ -826,11 +826,11 @@ release_pages ()
 }
 
 /* This table provides a fast way to determine ceil(log_2(size)) for
-   allocation requests.  The minimum allocation size is four bytes.  */
+   allocation requests.  The minimum allocation size is eight bytes.  */
 
 static unsigned char size_lookup[257] = 
-{ 
-  2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 
+{
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 
   4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 
   5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 
   6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 
@@ -1446,7 +1446,7 @@ ggc_print_statistics ()
   /* Collect some information about the various sizes of 
      allocation.  */
   fprintf (stderr, "\n%-5s %10s  %10s  %10s\n",
-	   "Log", "Allocated", "Used", "Overhead");
+	   "Size", "Allocated", "Used", "Overhead");
   for (i = 0; i < NUM_ORDERS; ++i)
     {
       page_entry *p;
@@ -1472,7 +1472,7 @@ ggc_print_statistics ()
 	  overhead += (sizeof (page_entry) - sizeof (long)
 		       + BITMAP_SIZE (OBJECTS_PER_PAGE (i) + 1));
 	}
-      fprintf (stderr, "%-5d %10ld%c %10ld%c %10ld%c\n", i,
+      fprintf (stderr, "%-5d %10ld%c %10ld%c %10ld%c\n", OBJECT_SIZE (i),
 	       SCALE (allocated), LABEL (allocated),
 	       SCALE (in_use), LABEL (in_use),
 	       SCALE (overhead), LABEL (overhead));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]