aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2019-09-25 14:08:11 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2019-09-26 13:56:41 -0700
commite197d9ca71570c980274ddd2cb6a32af6c00d95e (patch)
tree1475c299cff30e814a0f26294113e0f7df3d507f
parent98d7583bfcf1442c01ebe0288726cacef138d349 (diff)
downloadruby-e197d9ca71570c980274ddd2cb6a32af6c00d95e.tar.gz
Execute write barrier instead of adding to array
We can mark everything via the instruction objects, so just execute the write barrier instead of appending to the array
-rw-r--r--compile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/compile.c b/compile.c
index d7c05b2e87..004d38670c 100644
--- a/compile.c
+++ b/compile.c
@@ -579,7 +579,7 @@ static int
iseq_add_mark_object_compile_time(const rb_iseq_t *iseq, VALUE v)
{
if (!SPECIAL_CONST_P(v)) {
- rb_ary_push(ISEQ_COMPILE_DATA(iseq)->mark_ary, v);
+ RB_OBJ_WRITTEN(iseq, Qundef, v);
}
return COMPILE_OK;
}