diff options
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 802ba75dd6..d979d5698a 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1620,21 +1620,6 @@ vm_call_opt_call(rb_thread_t *th, rb_control_frame_t *cfp, rb_call_info_t *ci) } static VALUE -vm_call_cfunc_frameless_unary(rb_thread_t *th, rb_control_frame_t *cfp, rb_call_info_t *ci) -{ - cfp->sp -= 1; - return (*ci->me->def->body.cfunc.func)(ci->recv); -} - -static VALUE -vm_call_cfunc_frameless_binary(rb_thread_t *th, rb_control_frame_t *cfp, rb_call_info_t *ci) -{ - VALUE obj = *cfp->sp; - cfp->sp -= 2; - return (*ci->me->def->body.cfunc.func)(ci->recv, obj); -} - -static VALUE vm_call_method_missing(rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *ci) { VALUE *argv = STACK_ADDR_FROM_TOP(ci->argc); @@ -1748,20 +1733,6 @@ vm_call_method(rb_thread_t *th, rb_control_frame_t *cfp, rb_call_info_t *ci) } break; } - case VM_METHOD_TYPE_CFUNC_FRAMELESS: - switch (ci->me->def->body.cfunc.argc) { - case 0: - rb_check_arity(ci->argc, 0, 0); - CI_SET_FASTPATH(ci, vm_call_cfunc_frameless_unary, enable_fastpath && !(ci->flag & VM_CALL_ARGS_SPLAT)); - return vm_call_cfunc_frameless_unary(th, cfp, ci); - case 1: - rb_check_arity(ci->argc, 0, 1); - CI_SET_FASTPATH(ci, vm_call_cfunc_frameless_binary, enable_fastpath && !(ci->flag & VM_CALL_ARGS_SPLAT)); - return vm_call_cfunc_frameless_binary(th, cfp, ci); - default: - rb_bug("vm_call_method: unsupported cfunc_fast argc (%d)", ci->me->def->body.cfunc.argc); - } - break; case VM_METHOD_TYPE_UNDEF: break; case VM_METHOD_TYPE_REFINED:{ |