From 1ce9b81f7715c8d489d6be14dadb97011fe344b2 Mon Sep 17 00:00:00 2001 From: Gabor Drescher Date: Tue, 5 Jul 2016 09:51:50 +0200 Subject: [PATCH] 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. --- mark.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mark.c b/mark.c index 94919327..f7498570 100644 --- a/mark.c +++ b/mark.c @@ -645,7 +645,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)) { -- 2.50.1