summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2019-09-16 17:19:44 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2019-09-26 13:56:41 -0700
commit50fadefb7ed275148b2266712b923b8cca1ed785 (patch)
tree653a9b55812c11a887712bdd842aaf73f7377c68 /iseq.c
parenta618d6408653b7f2459acb5af6205c42ad3aad87 (diff)
Scan the ISEQ arena for markables and mark them
This commit scans the ISEQ arena for objects that can be marked and marks them. This should make the mark array unnecessary.
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/iseq.c b/iseq.c
index b5417cba19..f76b350056 100644
--- a/iseq.c
+++ b/iseq.c
@@ -336,6 +336,9 @@ rb_iseq_mark(const rb_iseq_t *iseq)
}
else if (FL_TEST_RAW(iseq, ISEQ_USE_COMPILE_DATA)) {
const struct iseq_compile_data *const compile_data = ISEQ_COMPILE_DATA(iseq);
+
+ rb_iseq_mark_insn_storage(compile_data->insn.storage_head);
+
if (RTEST(compile_data->mark_ary)) {
rb_gc_mark(compile_data->mark_ary);
}