Commit 75d75435 by Ulrich Weigand Committed by Ulrich Weigand

ggc-page.c (inverse_table): Change type of mult to size_t.

        * ggc-page.c (inverse_table): Change type of mult to size_t.
        (compute_inverse): Compute inverse using size_t, not unsigned int.
        Compute inverse also for sizes larger than half a machine page.

From-SVN: r68589
parent 07d1940e
2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
* ggc-page.c (inverse_table): Change type of mult to size_t.
(compute_inverse): Compute inverse using size_t, not unsigned int.
Compute inverse also for sizes larger than half a machine page.
Fri Jun 27 18:36:12 CEST 2003 Jan Hubicka <jh@suse.cz> Fri Jun 27 18:36:12 CEST 2003 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_decl_compilation): Only varpoolize argument * toplev.c (rest_of_decl_compilation): Only varpoolize argument
......
...@@ -231,7 +231,7 @@ static size_t object_size_table[NUM_ORDERS]; ...@@ -231,7 +231,7 @@ static size_t object_size_table[NUM_ORDERS];
static struct static struct
{ {
unsigned int mult; size_t mult;
unsigned int shift; unsigned int shift;
} }
inverse_table[NUM_ORDERS]; inverse_table[NUM_ORDERS];
...@@ -1219,19 +1219,8 @@ ggc_get_size (const void *p) ...@@ -1219,19 +1219,8 @@ ggc_get_size (const void *p)
static void static void
compute_inverse (unsigned order) compute_inverse (unsigned order)
{ {
unsigned size, inv, e; size_t size, inv;
unsigned int e;
/* There can be only one object per "page" in a bucket for sizes
larger than half a machine page; it will always have offset zero. */
if (OBJECT_SIZE (order) > G.pagesize/2)
{
if (OBJECTS_PER_PAGE (order) != 1)
abort ();
DIV_MULT (order) = 1;
DIV_SHIFT (order) = 0;
return;
}
size = OBJECT_SIZE (order); size = OBJECT_SIZE (order);
e = 0; e = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment