aboutsummaryrefslogtreecommitdiffstats
path: root/vm_eval.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2023-07-31 12:26:27 +0900
committerKoichi Sasada <ko1@atdot.net>2023-07-31 14:04:31 +0900
commit36023d5cb751d62fca0c27901c07527b20170f4d (patch)
treee042a12b89f942eb5b4424d04c80a1795fa79a7f /vm_eval.c
parent60ac719acc3e4eccab770ebdd959dffcb702f2f2 (diff)
downloadruby-36023d5cb751d62fca0c27901c07527b20170f4d.tar.gz
mark `cc->cme_` if it is for `super`
`vm_search_super_method()` makes orphan CCs (they are not connected from ccs) and `cc->cme_` can be collected before without marking.
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 6ee958b659..9f72d48709 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -425,7 +425,7 @@ cc_new(VALUE klass, ID mid, int argc, const rb_callable_method_entry_t *cme)
if (cc == NULL) {
const struct rb_callinfo *ci = vm_ci_new(mid, 0, argc, NULL); // TODO: proper ci
- cc = vm_cc_new(klass, cme, vm_call_general);
+ cc = vm_cc_new(klass, cme, vm_call_general, cc_type_normal);
METHOD_ENTRY_CACHED_SET((struct rb_callable_method_entry_struct *)cme);
vm_ccs_push(klass, ccs, ci, cc);
}