]> granicus.if.org Git - gc/commitdiff
Eliminate duplicate clear_mark_bit call when removing disappearing link
authorIvan Maidanski <ivmai@mail.ru>
Wed, 4 Jul 2018 14:33:52 +0000 (17:33 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 8 Jul 2018 21:06:25 +0000 (00:06 +0300)
(fix of commit 8d13d52b6)

* finalize.c (GC_make_disappearing_links_disappear,
GC_remove_dangling_disappearing_links): Remove GC_clear_mark_bit call.

finalize.c

index 5b8cc58597366a5ea8df18741027354e9a1ef0d9..305017154b1185a5afcfb431d5a5cc1f89c4007d 100644 (file)
@@ -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)