diff options
Diffstat (limited to 'include/private')
-rw-r--r-- | include/private/gc_pmark.h | 8 | ||||
-rw-r--r-- | include/private/gc_priv.h | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/include/private/gc_pmark.h b/include/private/gc_pmark.h index 286bf179..bbee8729 100644 --- a/include/private/gc_pmark.h +++ b/include/private/gc_pmark.h @@ -380,12 +380,12 @@ GC_INLINE mse * GC_push_contents_hdr(ptr_t current, mse * mark_stack_top, /* Try both the raw version and the fixed up one. */ # define GC_PUSH_ONE_STACK(p, source) \ do { \ - if ((word)(p) >= (word)GC_least_plausible_heap_addr \ + if ((word)(p) > (word)GC_least_plausible_heap_addr \ && (word)(p) < (word)GC_greatest_plausible_heap_addr) { \ PUSH_ONE_CHECKED_STACK(p, source); \ } \ FIXUP_POINTER(p); \ - if ((word)(p) >= (word)GC_least_plausible_heap_addr \ + if ((word)(p) > (word)GC_least_plausible_heap_addr \ && (word)(p) < (word)GC_greatest_plausible_heap_addr) { \ PUSH_ONE_CHECKED_STACK(p, source); \ } \ @@ -393,7 +393,7 @@ GC_INLINE mse * GC_push_contents_hdr(ptr_t current, mse * mark_stack_top, #else /* !NEED_FIXUP_POINTER */ # define GC_PUSH_ONE_STACK(p, source) \ do { \ - if ((word)(p) >= (word)GC_least_plausible_heap_addr \ + if ((word)(p) > (word)GC_least_plausible_heap_addr \ && (word)(p) < (word)GC_greatest_plausible_heap_addr) { \ PUSH_ONE_CHECKED_STACK(p, source); \ } \ @@ -404,7 +404,7 @@ GC_INLINE mse * GC_push_contents_hdr(ptr_t current, mse * mark_stack_top, #define GC_PUSH_ONE_HEAP(p,source,mark_stack_top) \ do { \ FIXUP_POINTER(p); \ - if ((word)(p) >= (word)GC_least_plausible_heap_addr \ + if ((word)(p) > (word)GC_least_plausible_heap_addr \ && (word)(p) < (word)GC_greatest_plausible_heap_addr) \ mark_stack_top = GC_mark_and_push((void *)(p), mark_stack_top, \ GC_mark_stack_limit, (void * *)(source)); \ diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index 84bcc14c..dc442afb 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -1448,7 +1448,8 @@ struct _GC_arrays { /* obtained scratch area. */ /* Used by GC_register_dynamic_libraries(). */ # endif -# if defined(GC_ASSERTIONS) || (defined(KEEP_BACK_PTRS) && ALIGNMENT == 1) +# if defined(GC_ASSERTIONS) || defined(MAKE_BACK_GRAPH) \ + || (defined(KEEP_BACK_PTRS) && ALIGNMENT == 1) # define SET_REAL_HEAP_BOUNDS # define GC_least_real_heap_addr GC_arrays._least_real_heap_addr # define GC_greatest_real_heap_addr GC_arrays._greatest_real_heap_addr |