diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-03 02:43:20 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-03 02:43:20 +0000 |
commit | c0bf2c5efec6e5c94236ca24cd35de5869ed7216 (patch) | |
tree | 2e90248c9c584d266fd13702310987c64a123136 /vm_eval.c | |
parent | 337fafc64147d32cce5c509f8c841b4e5e846d60 (diff) | |
download | ruby-c0bf2c5efec6e5c94236ca24cd35de5869ed7216.tar.gz |
vm_core.h: update for OPT_CALL_CFUNC_WITHOUT_FRAME
* vm_eval.c (vm_call0_cfunc): update invoker arguments.
* vm_insnhelper.c (vm_call_cfunc_latter): ditto.
* vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix
with rb_.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r-- | vm_eval.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -71,13 +71,15 @@ vm_call0_cfunc(rb_thread_t* th, rb_call_info_t *ci, const VALUE *argv) const rb_method_entry_t *me = ci->me; const rb_method_cfunc_t *cfunc = &me->def->body.cfunc; int len = cfunc->argc; + VALUE recv = ci->recv; + int argc = ci->argc; if (len >= 0) rb_check_arity(ci->argc, len, len); th->passed_ci = ci; ci->aux.inc_sp = 0; VM_PROFILE_UP(2); - val = (*cfunc->invoker)(cfunc->func, ci, argv); + val = (*cfunc->invoker)(cfunc->func, recv, argc, argv); if (reg_cfp == th->cfp) { if (UNLIKELY(th->passed_ci != ci)) { |