From: Gabor Drescher Date: Tue, 5 Jul 2016 07:51:50 +0000 (+0200) Subject: Fix assertion in GC_mark_from for non-heap regions X-Git-Tag: gc7_6_0~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da2fcda06974fb50ed9c4a4c760714bd087662a7;p=gc Fix assertion in GC_mark_from for non-heap regions * mark.c (GC_mark_from): Relax assertion condition for descr and GC_least/greatest_plausible_heap_addr values. --- diff --git a/mark.c b/mark.c index 7e18e0e3..99ce4193 100644 --- a/mark.c +++ b/mark.c @@ -636,7 +636,10 @@ GC_INNER mse * GC_mark_from(mse *mark_stack_top, mse *mark_stack, /* Process part of the range to avoid pushing too much on the */ /* stack. */ GC_ASSERT(descr < (word)GC_greatest_plausible_heap_addr - - (word)GC_least_plausible_heap_addr); + - (word)GC_least_plausible_heap_addr + || (word)(current_p + descr) + <= (word)GC_least_plausible_heap_addr + || (word)current_p >= (word)GC_greatest_plausible_heap_addr); # ifdef ENABLE_TRACE if ((word)GC_trace_addr >= (word)current_p && (word)GC_trace_addr < (word)(current_p + descr)) {