diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-27 17:36:21 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-27 17:36:21 +0000 |
commit | 2c06e494653930abebdfddaf07f5105c0d64661b (patch) | |
tree | 2be831b2628a512fdac1b99d168c8e273c5f80f3 /gcc/ggc-page.c | |
parent | efe37a8377a17f8cddd75510812688a253e93deb (diff) | |
download | ppe42-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.c | 17 |
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; |