From 571883a217da5e947baff016f49d934e01618668 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 22 May 2008 09:55:36 +0000 Subject: * vm.c (vm_get_ruby_level_cfp): moved from eval_intern.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'vm.c') diff --git a/vm.c b/vm.c index 786c94e5fa..abfdb1225d 100644 --- a/vm.c +++ b/vm.c @@ -94,6 +94,18 @@ rb_vm_set_eval_stack(rb_thread_t * const th, const VALUE iseqval, NODE * const c } } +rb_control_frame_t * +vm_get_ruby_level_cfp(rb_thread_t *th, rb_control_frame_t *cfp) +{ + while (!RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P(th, cfp)) { + if (RUBY_VM_NORMAL_ISEQ_P(cfp->iseq)) { + return cfp; + } + cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp); + } + return 0; +} + /* Env */ static void @@ -787,6 +799,7 @@ vm_backtrace(rb_thread_t * const th, int lev) return ary; } +#if 0 static void check_svar(void) { @@ -802,6 +815,7 @@ check_svar(void) cfp++; } } +#endif NODE * ruby_cref(void) @@ -1545,6 +1559,7 @@ rb_thread_recycle_stack_release(VALUE * const stack) #endif } +#ifdef USE_THREAD_RECYCLE static rb_thread_t * thread_recycle_struct(void) { @@ -1552,6 +1567,7 @@ thread_recycle_struct(void) memset(p, 0, sizeof(rb_thread_t)); return p; } +#endif static void thread_free(void * const ptr) @@ -1721,6 +1737,7 @@ extern VALUE *rb_gc_register_stack_start; #endif /* debug functions */ +#if VMDEBUG static VALUE sdr(void) @@ -1752,6 +1769,7 @@ nsdr(void) #endif return ary; } +#endif void Init_VM(void) -- cgit v1.2.3