2004-01-05 Daniel Berlin <dberlin@dberlin.org>
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2004 19:23:50 +0000 (19:23 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2004 19:23:50 +0000 (19:23 +0000)
commit211e9ed72e637f1f95557fd687e46458c0557eba
tree5aaaedfdf436558d04931e3b3bbb509a847af114
parent51510efaee031b53bcf01fec41fceab67504e334
2004-01-05  Daniel Berlin  <dberlin@dberlin.org>

* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
(USING_MMAP): We don't support non-mmap.
(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
large objects.
(struct page_entry): Remove bytes_free.
(struct page_table_chain): Remove.
(struct globals): Remove page_table member.
(loookup_page_table_entry): Function deleted.
(set_page_table_entry): Ditto.
(ggc_allocated_p): No longer need page table lookups.
(ggc_marked_p): Ditto.
(alloc_small_page): Don't care about bytes_free anymore.
(alloc_large_page): Round up size.
(ggc_alloc_zone_1): Mark large objects as such, and calculate
their size the new way.
Remove page table lookups and setting.
(ggc_get_size): Calculate large object size the new way.
(sweep_pages): Redo to account for fact that we no longer have
bytes_free.
(ggc_collect): No longer need to reincrement bytes_free.
(ggc_pch_alloc_object): Handle new large objects properly.
(ggc_pch_read): Put PCH stuff into it's own uncollected zone.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75438 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ggc-zone.c