]> granicus.if.org Git - gc/commit
Fix GC_is_valid_displacement and GC_is_visible for non-small objects
authorIvan Maidanski <ivmai@mail.ru>
Wed, 11 Jul 2018 20:09:00 +0000 (23:09 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 18 Jul 2018 04:42:21 +0000 (07:42 +0300)
commitd420526707f9824ffe74a2ba3111fba6e22cd931
treec43b1578562300cebfaf1d9c3d51f7b2afb401c7
parent0714474aa63a7c046f931a01f4fd01ba6faacdd9
Fix GC_is_valid_displacement and GC_is_visible for non-small objects
(a cherry-pick of commit 77f4ff04 from 'master')

* ptr_chck.c (GC_is_valid_displacement): Remove redundant
IS_FORWARDING_ADDR_OR_NIL(hhdr) call if GC_all_interior_pointers.
* ptr_chck.c (GC_is_valid_displacement): Do not goto fail if
p+sz-offset > h+1 but IS_FORWARDING_ADDR_OR_NIL(HDR(h+1)).
* ptr_chck.c (GC_is_visible): Transform comment about GC_base to
a TODO item; set hhdr to HDR(base) instead of HDR(p)
if HBLKPTR(base)!=HBLKPTR(p).
ptr_chck.c