Ludovic Courtès wrote:
BTW, looking at the code of `scm_i_sweep_some_cards ()', it looks like
cards can be initialized more than once in the event where THRESHOLD is
reached before NEXT_FREE reached the upper boundary of SEG. In such a
case, SEG->FIRST_TIME will remain equal to 1, and thus, the next time
this function is called on SEG, `scm_i_init_card_freelist ()' will be
called again for each of SEG's cards.
Did I miss something?
Yes. Sweeping always starts with NEXT_FREE, which is incremented for
each call, so each card from the segment is only passed over once with
FIRST_TIME. FIRST_TIME refers to the fact that no GC has taken place for
the segment at hand.
--
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel