From: Juho S. <js...@us...> - 2004-12-14 02:31:48
|
Update of /cvsroot/sbcl/sbcl/src/runtime In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3641/src/runtime Modified Files: Tag: x86-64-again-branch gencgc-alloc-region.h gencgc.c Log Message: 0.8.15.14.x86-64-again-branch.34: * Fix some probable 32-bit Alpha problems that were introduced earlier during the port in primtype, sb-sprof and run-program. * Use a more space-efficient boxed presentation for double-floats and complex double-floats. * Add VOP for non-constant modular left shifts (added to other archs after the AMD64 port was originally started). * Add a REX-prefix for XCHG. * Implement inline allocation. * More int -> long in gencgc. * Only scan pages up to last_free_page instead of NUM_PAGES in update_x86_dynamic_space_free_pointer() (otherwise GC is ridiculously slow with large dynamic spaces). Index: gencgc-alloc-region.h =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/gencgc-alloc-region.h,v retrieving revision 1.2 retrieving revision 1.2.42.1 diff -u -d -r1.2 -r1.2.42.1 --- gencgc-alloc-region.h 27 Feb 2003 00:50:00 -0000 1.2 +++ gencgc-alloc-region.h 14 Dec 2004 02:31:37 -0000 1.2.42.1 @@ -9,14 +9,14 @@ void *end_addr; /* pointer to the byte after the last usable byte */ /* These are needed when closing the region. */ - int first_page; - int last_page; + long first_page; + long last_page; void *start_addr; }; extern struct alloc_region boxed_region; extern struct alloc_region unboxed_region; -extern int from_space, new_space; +extern long from_space, new_space; extern struct weak_pointer *weak_pointers; extern void *current_region_free_pointer; Index: gencgc.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/gencgc.c,v retrieving revision 1.61.2.5 retrieving revision 1.61.2.6 diff -u -d -r1.61.2.5 -r1.61.2.6 --- gencgc.c 28 Nov 2004 02:26:29 -0000 1.61.2.5 +++ gencgc.c 14 Dec 2004 02:31:37 -0000 1.61.2.6 @@ -141,8 +141,8 @@ /* the source and destination generations. These are set before a GC starts * scavenging. */ -int from_space; -int new_space; +long from_space; +long new_space; /* An array of page structures is statically allocated. @@ -3734,7 +3734,7 @@ long last_page = -1; long i; - for (i = 0; i < NUM_PAGES; i++) + for (i = 0; i < last_free_page; i++) if ((page_table[i].allocated != FREE_PAGE_FLAG) && (page_table[i].bytes_used != 0)) last_page = i; |