]> 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>
Thu, 19 Jul 2018 06:45:14 +0000 (09:45 +0300)
commit8362cb7c1a065aaa36f3603d85d4b413cfafa22a
treeb9dbb5ee3daefe67aa3fbe86ee5b4a622b8a00eb
parentbfd21ec2a27b1efa24146af14c92a61462fdb176
Fix GC_is_valid_displacement and GC_is_visible for non-small objects
(a cherry-pick of commit d4205267 from 'release-7_4')

* 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