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

ruby-changes:66651

From: Peter <ko1@a...>
Date: Thu, 1 Jul 2021 05:12:24 +0900 (JST)
Subject: [ruby-changes:66651] 4a3df35239 (master): Use stride passed into os_obj_of_i

https://git.ruby-lang.org/ruby.git/commit/?id=4a3df35239

From 4a3df35239b122f9260fd4ca2b844b9d41f61225 Mon Sep 17 00:00:00 2001
From: Peter Zhu <peter@p...>
Date: Wed, 30 Jun 2021 15:24:22 -0400
Subject: Use stride passed into os_obj_of_i

---
 gc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gc.c b/gc.c
index b022910..bdac2b9 100644
--- a/gc.c
+++ b/gc.c
@@ -3728,10 +3728,9 @@ static int https://github.com/ruby/ruby/blob/trunk/gc.c#L3728
 os_obj_of_i(void *vstart, void *vend, size_t stride, void *data)
 {
     struct os_each_struct *oes = (struct os_each_struct *)data;
-    RVALUE *p = (RVALUE *)vstart, *pend = (RVALUE *)vend;
 
-    for (; p != pend; p++) {
-	volatile VALUE v = (VALUE)p;
+    VALUE v = (VALUE)vstart;
+    for (; v != (VALUE)vend; v += stride) {
 	if (!internal_object_p(v)) {
 	    if (!oes->of || rb_obj_is_kind_of(v, oes->of)) {
                 if (!rb_multi_ractor_p() || rb_ractor_shareable_p(v)) {
-- 
cgit v1.1


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

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