diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | vm_method.c | 5 |
2 files changed, 5 insertions, 2 deletions
@@ -7,6 +7,8 @@ Thu Aug 28 20:22:49 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * object.c (convert_type): call less rb_intern() less frequently by using cache structure. + * vm_method.c (rb_method_node): fail earlier if no method found. + Thu Aug 28 19:04:50 2008 NAKAMURA Usaku <usa@ruby-lang.org> * bootstraptest/test_io.rb: no need to create real file. diff --git a/vm_method.c b/vm_method.c index 0254741b8a..b0f69afd04 100644 --- a/vm_method.c +++ b/vm_method.c @@ -292,8 +292,9 @@ rb_method_node(VALUE klass, ID id) struct cache_entry *ent; ent = cache + EXPR1(klass, id); - if (ent->mid == id && ent->klass == klass && ent->method) { - return ent->method; + if (ent->mid == id && ent->klass == klass) { + if (ent->method) return ent->method; + return 0; } return rb_get_method_body(klass, id, 0); |