Skip to content

Commit f78728f

Browse files
committed
Change name of free_whitelisted_vm_weak_references_from_sweep_thread
Since MMTK might also use this, called it something more generic. It's now `rb_gc_obj_free_concurrency_safe_vm_weak_references`.
1 parent c3be429 commit f78728f

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

gc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2420,9 +2420,8 @@ obj_free_object_id(VALUE obj, bool in_user_gc_thread)
24202420
}
24212421

24222422
bool
2423-
rb_gc_obj_free_whitelisted_vm_weak_references_in_sweep_thread(VALUE obj)
2423+
rb_gc_obj_free_concurrency_safe_vm_weak_references(VALUE obj)
24242424
{
2425-
VM_ASSERT(pthread_self() == GET_VM()->gc.sweep_thread);
24262425
bool result = obj_free_object_id(obj, false);
24272426
if (RB_UNLIKELY(rb_obj_gen_fields_p(obj))) {
24282427
bool freed_generic = rb_free_generic_ivar(obj);

gc/default/default.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4325,8 +4325,6 @@ debug_free_check(rb_objspace_t *objspace, VALUE vp)
43254325
#define debug_free_check(...) (void)0
43264326
#endif
43274327

4328-
bool rb_gc_obj_free_whitelisted_vm_weak_references_in_sweep_thread(VALUE obj);
4329-
43304328
static inline void
43314329
gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *page, uintptr_t p, bits_t bitset, short slot_size)
43324330
{
@@ -4442,7 +4440,7 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44424440
break;
44434441
free: {
44444442
debug_free_check(objspace, vp);
4445-
if (RB_LIKELY(rb_gc_obj_free_whitelisted_vm_weak_references_in_sweep_thread(vp))) {
4443+
if (RB_LIKELY(rb_gc_obj_free_concurrency_safe_vm_weak_references(vp))) {
44464444
bool can_put_back_on_freelist = rb_gc_obj_free(objspace, vp);
44474445
if (can_put_back_on_freelist) {
44484446
heap_page_add_freeobj(objspace, page, vp, true);

gc/gc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ MODULAR_GC_FN void rb_gc_run_obj_finalizer(VALUE objid, long count, VALUE (*call
8282
MODULAR_GC_FN void rb_gc_set_pending_interrupt(void);
8383
MODULAR_GC_FN void rb_gc_unset_pending_interrupt(void);
8484
MODULAR_GC_FN bool rb_gc_obj_free_vm_weak_references(VALUE obj);
85+
MODULAR_GC_FN bool rb_gc_obj_free_concurrency_safe_vm_weak_references(VALUE obj);
8586
MODULAR_GC_FN bool rb_gc_obj_free(void *objspace, VALUE obj);
8687
MODULAR_GC_FN void rb_gc_save_machine_context(void);
8788
MODULAR_GC_FN void rb_gc_mark_roots(void *objspace, const char **categoryp);

0 commit comments

Comments
 (0)