From: Ivan Maidanski Date: Wed, 4 Jul 2018 14:33:52 +0000 (+0300) Subject: Eliminate duplicate clear_mark_bit call when removing disappearing link X-Git-Tag: v7.6.8~59 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=40a8fd8c1d527b9c3b5d2c0cd5d2b1ea49319ac0;p=gc Eliminate duplicate clear_mark_bit call when removing disappearing link (fix of commit 8d13d52b6) * finalize.c (GC_make_disappearing_links_disappear, GC_remove_dangling_disappearing_links): Remove GC_clear_mark_bit call. --- diff --git a/finalize.c b/finalize.c index 5b8cc585..30501715 100644 --- a/finalize.c +++ b/finalize.c @@ -946,7 +946,6 @@ GC_INLINE void GC_make_disappearing_links_disappear( if (!GC_is_marked(real_ptr)) { *(word *)real_link = 0; - GC_clear_mark_bit(curr); DELETE_DL_HASHTBL_ENTRY(dl_hashtbl, curr, prev, next); } ITERATE_DL_HASHTBL_END(curr, prev) @@ -961,7 +960,6 @@ GC_INLINE void GC_remove_dangling_disappearing_links( ptr_t real_link = GC_base(GC_REVEAL_POINTER(curr -> dl_hidden_link)); if (NULL != real_link && !GC_is_marked(real_link)) { - GC_clear_mark_bit(curr); DELETE_DL_HASHTBL_ENTRY(dl_hashtbl, curr, prev, next); } ITERATE_DL_HASHTBL_END(curr, prev)