diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 6 | ||||
-rw-r--r-- | vm.c | 8 | ||||
-rw-r--r-- | yarvcore.h | 1 |
4 files changed, 12 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Tue Feb 20 15:11:42 2007 Koichi Sasada <ko1@atdot.net> + + * eval.c, vm.c, yarvcore.h: move definition of rb_call_super() to + vm.c from eval.c. change th_call_super() to static function. + Tue Feb 20 15:08:25 2007 Koichi Sasada <ko1@atdot.net> * test/io/nonblock/test_flush.rb: YARV doesn't raise any errors if @@ -1763,12 +1763,6 @@ rb_funcall3(VALUE recv, ID mid, int argc, const VALUE *argv) return rb_call(CLASS_OF(recv), recv, mid, argc, argv, NOEX_PUBLIC); } -VALUE -rb_call_super(int argc, const VALUE *argv) -{ - return th_call_super(GET_THREAD(), argc, argv); -} - static VALUE backtrace(int lev) { @@ -603,7 +603,7 @@ search_super_klass(VALUE klass, VALUE recv) return klass; } -VALUE +static VALUE th_call_super(rb_thread_t *th, int argc, const VALUE *argv) { VALUE recv = th->cfp->self; @@ -642,6 +642,12 @@ th_call_super(rb_thread_t *th, int argc, const VALUE *argv) return th_call0(th, klass, recv, id, id, argc, argv, body, nosuper); } +VALUE +rb_call_super(int argc, const VALUE *argv) +{ + return th_call_super(GET_THREAD(), argc, argv); +} + static inline VALUE th_invoke_yield_cfunc(rb_thread_t *th, rb_block_t *block, VALUE self, int argc, VALUE *argv) diff --git a/yarvcore.h b/yarvcore.h index 209b53dafe..b03e7f0fb2 100644 --- a/yarvcore.h +++ b/yarvcore.h @@ -601,7 +601,6 @@ void rb_disable_interrupt(void); VALUE th_eval_body(rb_thread_t *th); VALUE th_set_eval_stack(rb_thread_t *, VALUE iseq); -VALUE th_call_super(rb_thread_t *th, int argc, const VALUE *argv); VALUE th_invoke_proc(rb_thread_t *th, rb_proc_t *proc, VALUE self, int argc, VALUE *argv); VALUE th_make_proc(rb_thread_t *th, rb_control_frame_t *cfp, rb_block_t *block); VALUE th_make_env_object(rb_thread_t *th, rb_control_frame_t *cfp); |