From 7dbfe89630f429255ae346cd02d7ca7d2d109650 Mon Sep 17 00:00:00 2001 From: shugo Date: Thu, 3 Dec 2009 18:25:57 +0000 Subject: * compile.c (compile_cpath, iseq_compile_each): reverted constant/class variable lookup in instance_eval etc. to the behavior of 1.8. * eval.c (rb_mod_nesting): ditto. * insns.def (putspecialobject, defineclass): ditto. * node.h (NODE_FL_CREF_PUSHED_BY_EVAL): ditto. * vm_core.h (VM_SPECIAL_OBJECT_CONST_BASE): ditto. * vm_eval.c (yield_under, eval_under): ditto. * vm_insnhelper.c (vm_cref_push, vm_get_const_base, vm_get_ev_const, vm_get_cvar_base): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- insns.def | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'insns.def') diff --git a/insns.def b/insns.def index 49522974dc..5ad4af7491 100644 --- a/insns.def +++ b/insns.def @@ -343,6 +343,9 @@ putspecialobject case VM_SPECIAL_OBJECT_CBASE: val = vm_get_cbase(GET_ISEQ(), GET_LFP(), GET_DFP()); break; + case VM_SPECIAL_OBJECT_CONST_BASE: + val = vm_get_const_base(GET_ISEQ(), GET_LFP(), GET_DFP()); + break; default: rb_bug("putspecialobject insn: unknown value_type"); } @@ -944,7 +947,7 @@ defineclass rb_bug("unknown defineclass type: %d", (int)define_type); } - COPY_CREF(class_iseq->cref_stack, vm_cref_push(th, klass, NOEX_PUBLIC)); + COPY_CREF(class_iseq->cref_stack, vm_cref_push(th, klass, NOEX_PUBLIC, NULL)); /* enter scope */ vm_push_frame(th, class_iseq, -- cgit v1.2.3