From 8dced4d2c0f284bd17a3cb4a4fbed6d459cc71e0 Mon Sep 17 00:00:00 2001 From: ko1 Date: Sun, 8 Mar 2015 21:22:43 +0000 Subject: * internal.h: define rb_cref_t and change to use it. rb_cref_t is data type of CREF. Now, the body is still NODE. It is easy to understand what is CREF and what is pure NODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'vm.c') diff --git a/vm.c b/vm.c index 0f7f98bdec..da25fbd04b 100644 --- a/vm.c +++ b/vm.c @@ -79,20 +79,20 @@ rb_vm_control_frame_block_ptr(const rb_control_frame_t *cfp) return VM_CF_BLOCK_PTR(cfp); } -static NODE * -vm_cref_new(VALUE klass, long visi, NODE *prev_cref) +static rb_cref_t * +vm_cref_new(VALUE klass, long visi, const rb_cref_t *prev_cref) { - NODE *cref = NEW_CREF(klass); - CREF_REFINEMENTS(cref) = Qnil; + rb_cref_t *cref = (rb_cref_t *)NEW_CREF(klass); + CREF_REFINEMENTS_SET(cref, Qnil); CREF_VISI_SET(cref, visi); - CREF_NEXT(cref) = prev_cref; + CREF_NEXT_SET(cref, prev_cref); return cref; } -static NODE * +static rb_cref_t * vm_cref_new_toplevel(rb_thread_t *th) { - NODE *cref = vm_cref_new(rb_cObject, NOEX_PRIVATE /* toplevel visibility is private */, NULL); + rb_cref_t *cref = vm_cref_new(rb_cObject, NOEX_PRIVATE /* toplevel visibility is private */, NULL); if (th->top_wrapper) { cref = vm_cref_new(th->top_wrapper, NOEX_PRIVATE, cref); @@ -102,7 +102,7 @@ vm_cref_new_toplevel(rb_thread_t *th) } static void -vm_cref_dump(const char *mesg, const NODE *cref) +vm_cref_dump(const char *mesg, const rb_cref_t *cref) { fprintf(stderr, "vm_cref_dump: %s (%p)\n", mesg, cref); @@ -251,7 +251,7 @@ vm_set_top_stack(rb_thread_t *th, VALUE iseqval) } static void -vm_set_eval_stack(rb_thread_t * th, VALUE iseqval, const NODE *cref, rb_block_t *base_block) +vm_set_eval_stack(rb_thread_t * th, VALUE iseqval, const rb_cref_t *cref, rb_block_t *base_block) { rb_iseq_t *iseq; GetISeqPtr(iseqval, iseq); @@ -795,7 +795,7 @@ rb_binding_add_dynavars(rb_binding_t *bind, int dyncount, const ID *dynvars) static inline VALUE invoke_block_from_c(rb_thread_t *th, const rb_block_t *block, VALUE self, int argc, const VALUE *argv, - const rb_block_t *blockptr, const NODE *cref, + const rb_block_t *blockptr, const rb_cref_t *cref, VALUE defined_class, int splattable) { if (SPECIAL_CONST_P(block->iseq)) { @@ -870,7 +870,7 @@ check_block(rb_thread_t *th) } static inline VALUE -vm_yield_with_cref(rb_thread_t *th, int argc, const VALUE *argv, const NODE *cref) +vm_yield_with_cref(rb_thread_t *th, int argc, const VALUE *argv, const rb_cref_t *cref) { const rb_block_t *blockptr = check_block(th); return invoke_block_from_c(th, blockptr, blockptr->self, argc, argv, 0, cref, @@ -1039,7 +1039,7 @@ rb_sourceline(void) } } -NODE * +rb_cref_t * rb_vm_cref(void) { rb_thread_t *th = GET_THREAD(); @@ -1052,12 +1052,12 @@ rb_vm_cref(void) return rb_vm_get_cref(cfp->ep); } -const NODE * +const rb_cref_t * rb_vm_cref_in_context(VALUE self, VALUE cbase) { rb_thread_t *th = GET_THREAD(); const rb_control_frame_t *cfp = rb_vm_get_ruby_level_next_cfp(th, th->cfp); - const NODE *cref; + const rb_cref_t *cref; if (cfp->self != self) return NULL; cref = rb_vm_get_cref(cfp->ep); if (CREF_CLASS(cref) != cbase) return NULL; @@ -1066,7 +1066,7 @@ rb_vm_cref_in_context(VALUE self, VALUE cbase) #if 0 void -debug_cref(NODE *cref) +debug_cref(rb_cref_t *cref) { while (cref) { dp(CREF_CLASS(cref)); @@ -2264,7 +2264,7 @@ rb_thread_alloc(VALUE klass) static void vm_define_method(rb_thread_t *th, VALUE obj, ID id, VALUE iseqval, - rb_num_t is_singleton, NODE *cref) + rb_num_t is_singleton, rb_cref_t *cref) { VALUE klass = CREF_CLASS(cref); int noex = CREF_VISI(cref); -- cgit v1.2.3