0.9.8.18:
authorJuho Snellman <jsnell@iki.fi>
Sat, 7 Jan 2006 18:22:58 +0000 (18:22 +0000)
committerJuho Snellman <jsnell@iki.fi>
Sat, 7 Jan 2006 18:22:58 +0000 (18:22 +0000)
commitfd225cfc39c6e4ba6f778b4201423cd3e83e0418
tree41f8ff1eb1657cea9a1fc3373c514634269a8ad9
parent8c685e1fee08b4d1d9ef43b8d2784ac283c94096
0.9.8.18:
        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.
src/code/room.lisp
src/runtime/gc.h
src/runtime/gencgc-internal.h
version.lisp-expr