summaryrefslogtreecommitdiff
path: root/mallocx.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-05-17 11:14:51 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-05-17 11:15:40 +0300
commitbb8e97c115fdcb694122a389275432b2636e9549 (patch)
treebb0c4470e923e0371e3ed338f8fbe427bfdda108 /mallocx.c
parent888b7da8d2c504ab0f5d0163a58c6e29f5f86f22 (diff)
downloadbdwgc-bb8e97c115fdcb694122a389275432b2636e9549.tar.gz
Hide and rename GC_dirty to GC_dirty_async[_inner]
(code refactoring) Also, do not call GC_dirty_async_inner unless GC_incremental. * include/private/gc_priv.h [MANUAL_VDB] (GC_dirty_async_inner): Declare GC_INNER function. * include/private/gc_priv.h (GC_dirty_async): New macro (calls GC_dirty_async_inner if MANUAL_VDB and GC_incremental. * mallocx.c [MANUAL_VDB] (GC_dirty): Remove declaration. * mark.c [MANUAL_VDB && THREADS] (GC_dirty): Likewise. * mallocx.c (GC_end_stubborn_change): Remove GC_ATTR_UNUSED; call GC_dirty_async (unconditionally) instead of GC_dirty. * mark.c [THREADS] (GC_mark_and_push_stack): Call GC_dirty_async instead of GC_dirty. * os_dep.c [MANUAL_VDB] (GC_dirty): Rename to GC_dirty_async_inner; add GC_INNER; change argument type from ptr_t to const void*.
Diffstat (limited to 'mallocx.c')
-rw-r--r--mallocx.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/mallocx.c b/mallocx.c
index f9376836..b4ee570c 100644
--- a/mallocx.c
+++ b/mallocx.c
@@ -611,13 +611,7 @@ GC_API void GC_CALL GC_change_stubborn(const void *p GC_ATTR_UNUSED)
/* Empty. */
}
-#if defined(MANUAL_VDB)
- void GC_dirty(ptr_t p);
-#endif
-
-GC_API void GC_CALL GC_end_stubborn_change(const void *p GC_ATTR_UNUSED)
+GC_API void GC_CALL GC_end_stubborn_change(const void *p)
{
-# ifdef MANUAL_VDB
- GC_dirty((ptr_t)p);
-# endif
+ GC_dirty_async(p); /* entire object */
}