[前][次][番号順一覧][スレッド一覧]

ruby-changes:70452

From: Koichi <ko1@a...>
Date: Thu, 23 Dec 2021 16:50:28 +0900 (JST)
Subject: [ruby-changes:70452] 2da53b1468 (master): `finalize_deferred` doesn't need VM lock

https://git.ruby-lang.org/ruby.git/commit/?id=2da53b1468

From 2da53b14686d07369486bf435c5de932bf26a9fd Mon Sep 17 00:00:00 2001
From: Koichi Sasada <ko1@a...>
Date: Thu, 23 Dec 2021 15:45:09 +0900
Subject: `finalize_deferred` doesn't need VM lock

`finalize_list()` acquires VM lock to manipulate objspace state.
---
 gc.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gc.c b/gc.c
index 2de2b98b784..d77dc2cda4c 100644
--- a/gc.c
+++ b/gc.c
@@ -4071,12 +4071,8 @@ gc_finalize_deferred(void *dmy) https://github.com/ruby/ruby/blob/trunk/gc.c#L4071
     rb_objspace_t *objspace = dmy;
     if (ATOMIC_EXCHANGE(finalizing, 1)) return;
 
-    RB_VM_LOCK_ENTER();
-    {
-        finalize_deferred(objspace);
-        ATOMIC_SET(finalizing, 0);
-    }
-    RB_VM_LOCK_LEAVE();
+    finalize_deferred(objspace);
+    ATOMIC_SET(finalizing, 0);
 }
 
 static void
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]