From mboxrd@z Thu Jan 1 00:00:00 1970 From: cmm@sourceware.cygnus.com To: guile-cvs@sourceware.cygnus.com Subject: guile/guile-core/libguile gc.c Date: Thu, 17 Aug 2000 13:38:00 -0000 Message-id: <20000817203845.32191.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q3/msg00162.html List-Id: 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.