From d7165d88ec715f4c73b6fcbbbd6b185145359757 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Wed, 22 Nov 2023 10:45:50 -0500 Subject: Implement Write Barriers on Enumerator::Yielder --- enumerator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enumerator.c b/enumerator.c index 94f8490ca4..602735119b 100644 --- a/enumerator.c +++ b/enumerator.c @@ -1302,7 +1302,7 @@ static const rb_data_type_t yielder_data_type = { NULL, yielder_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; static struct yielder * @@ -1341,7 +1341,7 @@ yielder_init(VALUE obj, VALUE proc) rb_raise(rb_eArgError, "unallocated yielder"); } - ptr->proc = proc; + RB_OBJ_WRITE(obj, &ptr->proc, proc); return obj; } -- cgit v1.2.3