From e0e8ee0ac8eb04e44060218af4dc207f3e59eeed Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 18 May 2004 00:32:30 +0000 Subject: * eval.c (rb_method_node): search cache entry first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ eval.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index bb430abf5a..f2feffaae9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue May 18 09:30:25 2004 SASADA Koichi + + * eval.c (rb_method_node): search cache entry first. + Mon May 17 16:04:06 Hirokazu Yamamoto * numeric.c (flo_to_s): p 0.0 should be '0.0' not '0.0e+00'. diff --git a/eval.c b/eval.c index f61717b027..4b568e3354 100644 --- a/eval.c +++ b/eval.c @@ -452,6 +452,12 @@ rb_method_node(klass, id) ID id; { int noex; + struct cache_entry *ent; + + ent = cache + EXPR1(klass, id); + if (ent->mid == id && ent->klass == klass && ent->method){ + return ent->method; + } return rb_get_method_body(&klass, &id, &noex); } -- cgit v1.2.3