diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-24 17:50:17 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-24 17:50:17 +0000 |
commit | 59c061235f7bb39d6a33b7e2b7fb4e3db57305db (patch) | |
tree | a476f70e698a68b2cc583e8aa5925feecabbd196 /eval_intern.h | |
parent | 582da7dac70c7fd9c9927cd57587e0cebfebfb3d (diff) | |
download | ruby-59c061235f7bb39d6a33b7e2b7fb4e3db57305db.tar.gz |
* eval_method.c: renamed from vm_method.c. "vm_method.c" is included
by "vm.c".
* vm_eval.c: added. Some codes are moved from "eval.c"
* common.mk: fix for above changes.
* compile.c: make a vm_eval(0)
* eval.c, eval_error.c, eval_intern.h, eval_jump.c, proc.c, vm.c,
id.c, id.h, vm_core.h, vm_dump.c, vm_evalbody.c, vm_insnhelper.c,
blockinlining.c: fix for above changes. and do some refactoring.
this changes improve rb_yield() performance.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_intern.h')
-rw-r--r-- | eval_intern.h | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/eval_intern.h b/eval_intern.h index eb025ecd7d..a8727d230c 100644 --- a/eval_intern.h +++ b/eval_intern.h @@ -183,16 +183,9 @@ enum ruby_tag_type { #define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value) #define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value) -#define SCOPE_TEST(f) \ - (ruby_cref()->nd_visi & (f)) - -#define SCOPE_CHECK(f) \ - (ruby_cref()->nd_visi == (f)) - -#define SCOPE_SET(f) \ -{ \ - ruby_cref()->nd_visi = (f); \ -} +#define SCOPE_TEST(f) (vm_cref()->nd_visi & (f)) +#define SCOPE_CHECK(f) (vm_cref()->nd_visi == (f)) +#define SCOPE_SET(f) (vm_cref()->nd_visi = (f)) #define CHECK_STACK_OVERFLOW(cfp, margin) do \ if (((VALUE *)(cfp)->sp) + (margin) + sizeof(rb_control_frame_t) >= ((VALUE *)cfp)) { \ @@ -220,21 +213,16 @@ VALUE rb_make_exception(int argc, VALUE *argv); NORETURN(void rb_fiber_start(void)); -NORETURN(void rb_raise_jump(VALUE)); NORETURN(void rb_print_undef(VALUE, ID, int)); NORETURN(void vm_localjump_error(const char *,VALUE, int)); NORETURN(void vm_jump_tag_but_local_jump(int, VALUE)); -NODE *vm_cref_push(rb_thread_t * th, VALUE, int); -NODE *vm_set_special_cref(rb_thread_t *th, VALUE *lfp, NODE *cref_stack); VALUE vm_make_jump_tag_but_local_jump(int state, VALUE val); -NODE *ruby_cref(void); +NODE *vm_cref(void); rb_control_frame_t *vm_get_ruby_level_cfp(rb_thread_t *th, rb_control_frame_t *cfp); VALUE rb_obj_is_proc(VALUE); -void rb_vm_check_redefinition_opt_method(const NODE *node); VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename); void rb_thread_terminate_all(void); -void rb_vm_set_eval_stack(rb_thread_t *, VALUE iseq, const NODE *cref); VALUE rb_vm_top_self(); VALUE rb_vm_cbase(void); |