From: Juho Snellman <jsnell@us...> - 2006-01-07 18:23:07
Update of /cvsroot/sbcl/sbcl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22358
Rearrange the GENCGC "struct page" a bit to for a more compact
memory representation. Saves memory (about 15MB on x86-64
where the page table is large, a couple of MB on x86). Also
a minor performance improvement thanks to cache issues.
TODO: The size could be still improved by another 15MB on x86-64
by defining the ill-named first_object_offset as an int
instead of long (4 bytes less data and 4 bytes less of padding).
The naive implementation would then limit the maximum region size
to 4GB. Since some low bits in the field are guaranteed to be
zero, a smart implementation could do some shifts and store even
more data. It remains to be seen whether this would be worthwhile.
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.2628
retrieving revision 1.2629
diff -u -d -r1.2628 -r1.2629
--- version.lisp-expr 6 Jan 2006 16:44:59 -0000 1.2628
+++ version.lisp-expr 7 Jan 2006 18:22:58 -0000 1.2629
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)