diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-31 16:14:38 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-31 16:14:38 +0000 |
commit | c0a0aa0c47f2cd5c97a35effb8b073eeb84b7d2d (patch) | |
tree | fa97905cff634b17ccf78d231cd1e8175c53eb02 /vm_eval.c | |
parent | 2097f56d32d6ab79cb9773fcdb203ed49339f4ac (diff) |
* enum.c (enum_count): remove optimization using #size.
revert r25560.
* vm_eval.c (rb_funcall_no_recursive): remove method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r-- | vm_eval.c | 18 |
1 files changed, 3 insertions, 15 deletions
@@ -263,8 +263,9 @@ check_funcall_failed(struct rescue_funcall_args *args, VALUE e) } static VALUE -check_funcall(rb_method_entry_t *me, VALUE recv, ID mid, int argc, VALUE *argv) +check_funcall(VALUE recv, ID mid, int argc, VALUE *argv) { + rb_method_entry_t *me = rb_search_method_entry(recv, mid); rb_thread_t *th = GET_THREAD(); int call_status = rb_method_call_status(th, me, CALL_FCALL, Qundef); @@ -291,20 +292,7 @@ check_funcall(rb_method_entry_t *me, VALUE recv, ID mid, int argc, VALUE *argv) VALUE rb_check_funcall(VALUE recv, ID mid, int argc, VALUE *argv) { - return check_funcall(rb_search_method_entry(recv, mid), recv, mid, argc, argv); -} - -VALUE -rb_funcall_no_recursive(VALUE recv, ID mid, int argc, VALUE *argv, VALUE (*func)()) -{ - rb_method_entry_t *me = rb_search_method_entry(recv, mid); - int call_status; - - if (!me) return Qundef; - if (me->def && me->def->type == VM_METHOD_TYPE_CFUNC && - me->def->body.cfunc.func == func) - return Qundef; - return check_funcall(me, recv, mid, argc, argv); + return check_funcall(recv, mid, argc, argv); } static inline rb_method_entry_t * |