This is the mail archive of the
guile-cvs@sources.redhat.com
mailing list for the Guile project.
guile/guile-core/libguile gc.c
- To: guile-cvs at sourceware dot cygnus dot com
- Subject: guile/guile-core/libguile gc.c
- From: cmm at sourceware dot cygnus dot com
- Date: 17 Aug 2000 20:38:45 -0000
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.