summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 6 insertions, 0 deletions
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);
}