diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2023-05-13 12:57:14 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2023-05-13 12:57:14 +0300 |
commit | 5f6df10a9317385b77d52ee2006f435639e87e44 (patch) | |
tree | c35043e983c356385cc7491b501d7611740cf1c3 /typd_mlc.c | |
parent | ffc64167e4d0eccbee19794d7eac6b6946cddb63 (diff) | |
download | bdwgc-5f6df10a9317385b77d52ee2006f435639e87e44.tar.gz |
Make comparisons to the lowest heap boundary strict
* alloc.c (GC_expand_hp_inner): Subtract sizeof(word) from new_limit
(for the case when comparing to GC_least_plausible_heap_addr).
* backgraph.c [MAKE_BACK_GRAPH] (add_back_edges): Compare current to
GC_least_real_heap_addr and GC_greatest_real_heap_addr (instead of
GC_least_plausible_heap_addr and GC_greatest_plausible_heap_addr).
* malloc.c [GC_ASSERTIONS] (GC_malloc_kind_global): Likewise.
* include/gc/gc_mark.h (GC_MARK_AND_PUSH): Replace greater-or-equal to
strictly greater when comparing to GC_least_plausible_heap_addr.
* include/private/gc_pmark.h (GC_PUSH_ONE_STACK, GC_PUSH_ONE_HEAP):
Likewise.
* include/private/gc_priv.h [MAKE_BACK_GRAPH] (SET_REAL_HEAP_BOUNDS,
GC_least_real_heap_addr, GC_greatest_real_heap_addr): Define.
* mark.c (GC_mark_from, GC_push_all): Add dummy "| GC_DS_LENGTH" when
storing length to mse_descr.w.
* mark.c (GC_mark_from): Replace greater-or-equal to strictly greater
when comparing to least_ha variable.
* typd_mlc.c (GC_typed_mark_proc): Likewise.
* mark.c [GC_DS_TAGS>ALIGNMENT-1] (GC_push_all): Simplify code to
round up length.
Diffstat (limited to 'typd_mlc.c')
-rw-r--r-- | typd_mlc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -178,7 +178,7 @@ STATIC mse * GC_typed_mark_proc(word * addr, mse * mark_stack_ptr, LOAD_WORD_OR_CONTINUE(current, current_p); FIXUP_POINTER(current); - if (current >= (word)least_ha && current < (word)greatest_ha) { + if (current > (word)least_ha && current < (word)greatest_ha) { PUSH_CONTENTS((ptr_t)current, mark_stack_ptr, mark_stack_limit, current_p); } |