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, 11 Jul 2018 20:09:00 +0000 (23:09 +0300)
commit77f4ff04d4408af0dcc0b55be184b61ea9daae72
treeccb33126070dc02e133e3e3756b09f4de79dd53d
parent6a7af12cbd3d2c27a208cff577662fca7e729a93
Fix GC_is_valid_displacement and GC_is_visible for non-small objects

* 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