guile/guile-core/libguile gc.c
cmm@sourceware.cygnus.com
cmm@sourceware.cygnus.com
Thu Aug 17 13:38:00 GMT 2000
CVSROOT: /cvs/guile
Module name: guile
Changes by: cmm@sourceware.cygnus.com 2000-08-17 13:38:45
Modified files:
guile-core/libguile: gc.c
Log message:
* gc.c: (scm_default_init_heap_size_*): defined to take cards into
account, but keeping more or less the same values as previously.
added some simple helper macros.
(CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK): defined to take cards
into account.
(BVEC_*, scm_mark_space_t, current_mark_space, mark_space_ptr,
current_mark_space_offset, mark_space_head, get_bvec,
clear_mark_space): new functions and supporting variables, types
and macros that implement mark space management.
(scm_igc): clear the mark space (all of it) before beginning the
mark phase.
(scm_gc_mark): changed the tests for rogue cells, much simplified
throughout (no different mark bit locations to worry about now).
(scm_mark_locations): don't consider card header cells.
(scm_cellp): ditto.
(scm_gc_sweep): simplified.
(init_heap_seg): changed to take cards into account.
More information about the Guile-cvs
mailing list