Skip to content

Commit 6bff102

Browse files
committed
Revert "Turn on concurrent set deletions in sweep thread"
This reverts commit c3ae962.
1 parent 0bd548e commit 6bff102

2 files changed

Lines changed: 5 additions & 14 deletions

File tree

gc.c

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2298,6 +2298,10 @@ bool
22982298
rb_gc_obj_has_blacklisted_vm_weak_references(VALUE obj)
22992299
{
23002300
switch (BUILTIN_TYPE(obj)) {
2301+
case T_STRING:
2302+
return FL_TEST_RAW(obj, RSTRING_FSTR);
2303+
case T_SYMBOL:
2304+
return true;
23012305
case T_IMEMO:
23022306
switch (imemo_type(obj)) {
23032307
case imemo_callcache: {
@@ -2325,18 +2329,6 @@ rb_gc_obj_free_whitelisted_vm_weak_references_in_sweep_thread(VALUE obj)
23252329
bool freed_generic = rb_free_generic_ivar(obj);
23262330
if (!freed_generic) result = false;
23272331
}
2328-
switch (BUILTIN_TYPE(obj)) {
2329-
case T_STRING:
2330-
if (FL_TEST_RAW(obj, RSTRING_FSTR)) {
2331-
rb_gc_free_fstring(obj);
2332-
}
2333-
break;
2334-
case T_SYMBOL:
2335-
rb_gc_free_dsymbol(obj);
2336-
break;
2337-
default:
2338-
break;
2339-
}
23402332
return result;
23412333
}
23422334

gc/default/default.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4480,7 +4480,6 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44804480
case T_BIGNUM:
44814481
case T_OBJECT:
44824482
case T_STRING:
4483-
case T_SYMBOL:
44844483
case T_ARRAY:
44854484
case T_HASH:
44864485
case T_STRUCT:
@@ -4497,7 +4496,7 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
44974496
}
44984497
break;
44994498
}
4500-
default: // ex: T_CLASS/T_MODULE/T_ICLASS
4499+
default: // ex: T_CLASS/T_MODULE/T_ICLASS/T_SYMBOL
45014500
debug_free_check(objspace, vp);
45024501
if (!rb_gc_obj_needs_cleanup_p(vp)) {
45034502
heap_page_add_deferred_freeobj(objspace, page, vp);

0 commit comments

Comments
 (0)