From: Matthew Flatt Date: Wed, 2 Aug 2006 18:37:21 +0000 (+0000) Subject: correct handing of mark-stack overflow in ephemeron processing X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2a0a7da39a1380b6d8785f35fe58a01332ead7a3;p=gc correct handing of mark-stack overflow in ephemeron processing svn: r3934 --- diff --git a/mark.c b/mark.c index 8c88c905..b583a517 100644 --- a/mark.c +++ b/mark.c @@ -604,7 +604,11 @@ void GC_mark_from_mark_stack(void) { MARK_FROM_MARK_STACK(); } - +void GC_mark_overflow_recover(void *p) +{ + GC_set_mark_bit(p); + while (!GC_mark_some((ptr_t)0)); +} /* * Mark objects pointed to by the regions described by