Commit 280cf02a by Zack Weinberg Committed by Zack Weinberg

ggc-page.c (compute_inverse): Short circuit calculation for object sizes larger than half a page.

	* ggc-page.c (compute_inverse): Short circuit calculation for
	object sizes larger than half a page.

From-SVN: r56548
parent 314b5a68
2002-08-23 Zack Weinberg <zack@codesourcery.com>
* ggc-page.c (compute_inverse): Short circuit calculation for
object sizes larger than half a page.
2002-08-23 David Edelsohn <edelsohn@gnu.org> 2002-08-23 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_elf_select_section): Treat * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
......
...@@ -1080,6 +1080,18 @@ compute_inverse (order) ...@@ -1080,6 +1080,18 @@ compute_inverse (order)
{ {
unsigned size, inv, e; 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 = OBJECT_SIZE (order); size = OBJECT_SIZE (order);
e = 0; e = 0;
while (size % 2 == 0) while (size % 2 == 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