From c9b4b78085ee07fa6cae4a267fa5dff80d6351a4 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 10 Dec 2012 06:11:16 +0000 Subject: compile.c, vm_insnhelper.c: flip-flop without hidden string key * compile.c (iseq_compile_each): count flip-flop state in local iseq not in each iseqs, so that the keys can be other than hidden strings. [ruby-core:47253] [Bug #6899] * vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store flip-flop states in an array instead of a hash. * iseq.c (set_relation): main iseq also can has local scope. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- insns.def | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'insns.def') diff --git a/insns.def b/insns.def index 8a0f91f6c1..7ada586d0a 100644 --- a/insns.def +++ b/insns.def @@ -95,7 +95,7 @@ setlocal */ DEFINE_INSN getspecial -(VALUE key, rb_num_t type) +(rb_num_t key, rb_num_t type) () (VALUE val) { @@ -109,7 +109,7 @@ getspecial */ DEFINE_INSN setspecial -(VALUE key) +(rb_num_t key) (VALUE obj) () { -- cgit v1.2.3