summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2022-10-03 12:03:46 +0200
committerBenoit Daloze <eregontp@gmail.com>2022-10-03 12:03:46 +0200
commitb91f685a2615ef957210f5e3a50c0e8299c20c55 (patch)
tree4a7ce4f0f94563149d4fb7286d2e799bbc637196 /proc.c
parent10e830c25b61f4c54d5980de4a10c591f91c5f44 (diff)
downloadruby-b91f685a2615ef957210f5e3a50c0e8299c20c55.tar.gz
Mark struct METHOD->owner for the GC
* Fixes https://github.com/ruby/ruby/commit/6b7d32a5e5 * See [Bug #18729]
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/proc.c b/proc.c
index 307535720e..7c76f36477 100644
--- a/proc.c
+++ b/proc.c
@@ -1601,6 +1601,7 @@ bm_mark(void *ptr)
rb_gc_mark_movable(data->recv);
rb_gc_mark_movable(data->klass);
rb_gc_mark_movable(data->iclass);
+ rb_gc_mark_movable(data->owner);
rb_gc_mark_movable((VALUE)data->me);
}
@@ -1611,6 +1612,7 @@ bm_compact(void *ptr)
UPDATE_REFERENCE(data->recv);
UPDATE_REFERENCE(data->klass);
UPDATE_REFERENCE(data->iclass);
+ UPDATE_REFERENCE(data->owner);
UPDATE_TYPED_REFERENCE(rb_method_entry_t *, data->me);
}