From c9b4b78085ee07fa6cae4a267fa5dff80d6351a4 Mon Sep 17 00:00:00 2001
From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
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

