From e97bf2aa9ccd7f05015901fd6084284d0d99743f Mon Sep 17 00:00:00 2001 From: shyouhei Date: Wed, 25 Nov 2009 07:21:40 +0000 Subject: merge revision(s) 25359: * eval.c (rb_clear_cache_for_undef): clear entries for inherited methods. [ruby-core:26074] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@25914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index ba15931e69..2541e2e2e7 100644 --- a/eval.c +++ b/eval.c @@ -370,7 +370,8 @@ rb_clear_cache_for_undef(klass, id) ent = cache; end = ent + CACHE_SIZE; while (ent < end) { if (ent->mid == id && - RCLASS(ent->origin)->m_tbl == RCLASS(klass)->m_tbl) { + (ent->klass == klass || + RCLASS(ent->origin)->m_tbl == RCLASS(klass)->m_tbl)) { ent->mid = 0; } ent++; -- cgit v1.2.3