Skip to content

Commit 17a5a5e

Browse files
committed
Take a full VM barrier in gc_rest
This isn't (yet?) safe to do because it concurrently modifies GC structures and dfree functions are not necessarily safe to do without stopping all Ractors. If it was safe to do this we should also do it for gc_enter_event_continue. I do think sweeping could be done concurrently with the mutator and in parallel, but that requires more work first.
1 parent f8c90e4 commit 17a5a5e

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

gc/default/default.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6633,8 +6633,6 @@ gc_enter(rb_objspace_t *objspace, enum gc_enter_event event, unsigned int *lock_
66336633

66346634
switch (event) {
66356635
case gc_enter_event_rest:
6636-
if (!is_marking(objspace)) break;
6637-
// fall through
66386636
case gc_enter_event_start:
66396637
case gc_enter_event_continue:
66406638
// stop other ractors

0 commit comments

Comments
 (0)