summaryrefslogtreecommitdiff
path: root/mark.c
diff options
context:
space:
mode:
Diffstat (limited to 'mark.c')
-rw-r--r--mark.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mark.c b/mark.c
index 406c06c..6650380 100644
--- a/mark.c
+++ b/mark.c
@@ -647,7 +647,9 @@ 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
+ || current_p + descr <= (word)GC_least_plausible_heap_addr
+ || 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)) {