summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2021-06-30 15:24:22 -0400
committerPeter Zhu <peter@peterzhu.ca>2021-06-30 16:12:03 -0400
commit4a3df35239b122f9260fd4ca2b844b9d41f61225 (patch)
tree848d2ff4ef34afc2c4f46825debd317075945cd1 /gc.c
parentacbddbe68cdcf5506791d8e19c184536ba253b02 (diff)
downloadruby-4a3df35239b122f9260fd4ca2b844b9d41f61225.tar.gz
Use stride passed into os_obj_of_i
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index b0229102e4..bdac2b936a 100644
--- a/gc.c
+++ b/gc.c
@@ -3728,10 +3728,9 @@ static int
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)) {