summaryrefslogtreecommitdiffstats
path: root/gcc/ggc-page.c
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-27 17:36:21 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-27 17:36:21 +0000
commit2c06e494653930abebdfddaf07f5105c0d64661b (patch)
tree2be831b2628a512fdac1b99d168c8e273c5f80f3 /gcc/ggc-page.c
parentefe37a8377a17f8cddd75510812688a253e93deb (diff)
downloadppe42-gcc-2c06e494653930abebdfddaf07f5105c0d64661b.tar.gz
ppe42-gcc-2c06e494653930abebdfddaf07f5105c0d64661b.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68589 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc-page.c')
-rw-r--r--gcc/ggc-page.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index 4a23d01a3d7..f6fe8cdcd08 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -231,7 +231,7 @@ static size_t object_size_table[NUM_ORDERS];
static struct
{
- unsigned int mult;
+ size_t mult;
unsigned int shift;
}
inverse_table[NUM_ORDERS];
@@ -1219,19 +1219,8 @@ ggc_get_size (const void *p)
static void
compute_inverse (unsigned order)
{
- unsigned size, inv, 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_t size, inv;
+ unsigned int e;
size = OBJECT_SIZE (order);
e = 0;
OpenPOWER on IntegriCloud