Skip to content

Commit 2180916

Browse files
committed
Parallel Sweep: no longer user blacklisted_vm_weak_references
1 parent 78cce78 commit 2180916

1 file changed

Lines changed: 4 additions & 20 deletions

File tree

gc/default/default.c

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4411,13 +4411,7 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44114411
dfree = RDATA(vp)->dfree;
44124412
}
44134413
if (!dfree || dfree == RUBY_DEFAULT_FREE || free_immediately) {
4414-
if (rb_gc_obj_has_blacklisted_vm_weak_references(vp)) {
4415-
sweep_in_ruby_thread(objspace, page, vp);
4416-
break;
4417-
}
4418-
else {
4419-
goto free;
4420-
}
4414+
goto free;
44214415
}
44224416
else {
44234417
sweep_in_ruby_thread(objspace, page, vp);
@@ -4427,10 +4421,6 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44274421
}
44284422
case T_IMEMO: {
44294423
debug_free_check(objspace, vp);
4430-
if (rb_gc_obj_has_blacklisted_vm_weak_references(vp)) {
4431-
sweep_in_ruby_thread(objspace, page, vp);
4432-
break;
4433-
}
44344424
switch (imemo_type(vp)) {
44354425
case imemo_callcache:
44364426
case imemo_constcache:
@@ -4442,10 +4432,11 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44424432
case imemo_throw_data:
44434433
case imemo_tmpbuf:
44444434
case imemo_fields:
4435+
case imemo_iseq:
44454436
goto free;
44464437
case imemo_callinfo:
44474438
case imemo_ment:
4448-
case imemo_iseq:
4439+
// blacklisted due to vm weak references
44494440
sweep_in_ruby_thread(objspace, page, vp);
44504441
break;
44514442
default:
@@ -4467,14 +4458,7 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44674458
case T_REGEXP:
44684459
case T_FILE: {
44694460
debug_free_check(objspace, vp);
4470-
if (rb_gc_obj_has_blacklisted_vm_weak_references(vp)) {
4471-
sweep_in_ruby_thread(objspace, page, vp);
4472-
break;
4473-
}
4474-
else {
4475-
goto free;
4476-
}
4477-
break;
4461+
goto free;
44784462
}
44794463
case T_CLASS:
44804464
case T_MODULE:

0 commit comments

Comments
 (0)