The first thing I need to know is what is 'lev' used for?
It appears to be a marker for avoiding something
happening while gc_mark_children uses gc_mark
in reentrant manner?
Secondly, it appears that if 'lev' exceeds it max OR
lev == 0 AND the Stack overflows -- you push the
ptr being marked onto a mark_statck!
Is the mark stack being used to save mark data when
the normal processing of marks gets to deep?
Any help in understanding the inner working of gc_mark
and friends would be very helpful.
Chuck T.
ceo / hawthorne-press.com