* vm_method.c (rb_method_node): fail earlier if no method found.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2008-08-28 12:08:19 +00:00
Родитель 84b144f6de
Коммит cf6334e1cb
2 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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);