From f1b95095d6635567cc5820b3eb40d9618faa73ed Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Mon, 13 Nov 2023 08:13:33 +0100 Subject: [PATCH] Revert "Wrap rb_objspace_reachable_objects_from_root with RB_VM_LOCK" This reverts commit 76dc327eeffefe02577999fe5f8215f762a581b6. --- gc.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/gc.c b/gc.c index 510b83c817..7710fec7d4 100644 --- a/gc.c +++ b/gc.c @@ -11987,23 +11987,19 @@ objspace_reachable_objects_from_root(rb_objspace_t *objspace, void (func)(const { if (during_gc) rb_bug("objspace_reachable_objects_from_root() is not supported while during_gc == true"); - RB_VM_LOCK_ENTER(); - { - rb_ractor_t *cr = GET_RACTOR(); - struct root_objects_data data = { - .func = func, - .data = passing_data, - }; - struct gc_mark_func_data_struct mfd = { - .mark_func = root_objects_from, - .data = &data, - }, *prev_mfd = cr->mfd; + rb_ractor_t *cr = GET_RACTOR(); + struct root_objects_data data = { + .func = func, + .data = passing_data, + }; + struct gc_mark_func_data_struct mfd = { + .mark_func = root_objects_from, + .data = &data, + }, *prev_mfd = cr->mfd; - cr->mfd = &mfd; - gc_mark_roots(objspace, &data.category); - cr->mfd = prev_mfd; - } - RB_VM_LOCK_LEAVE(); + cr->mfd = &mfd; + gc_mark_roots(objspace, &data.category); + cr->mfd = prev_mfd; } /*