summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 8bbbe7c42d..706301ebaa 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -991,7 +991,18 @@ rb_funcallv_with_cc(struct rb_call_cache_and_mid *cc, VALUE recv, ID mid, int ar
vm_search_method(&ci, &cc->cc, recv);
if (LIKELY(! UNDEFINED_METHOD_ENTRY_P(cc->cc.me))) {
- return rb_vm_call0(GET_EC(), recv, mid, argc, argv, cc->cc.me, VM_NO_KEYWORDS);
+ return vm_call0_body(
+ GET_EC(),
+ &(struct rb_calling_info) {
+ Qundef,
+ recv,
+ argc,
+ VM_NO_KEYWORDS,
+ },
+ &ci,
+ &cc->cc,
+ argv
+ );
}
}