hotspot/src/share/vm/interpreter/linkResolver.cpp
changeset 21067 5288d9ba4f49
parent 20685 2feadfa49bb7
child 21075 1eac7f8d4969
equal deleted inserted replaced
21065:b8281f54308b 21067:5288d9ba4f49
   246 // returns first instance method
   246 // returns first instance method
   247 // Looks up method in classes, then looks up local default methods
   247 // Looks up method in classes, then looks up local default methods
   248 void LinkResolver::lookup_instance_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
   248 void LinkResolver::lookup_instance_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) {
   249   Method* result_oop = klass->uncached_lookup_method(name, signature);
   249   Method* result_oop = klass->uncached_lookup_method(name, signature);
   250   result = methodHandle(THREAD, result_oop);
   250   result = methodHandle(THREAD, result_oop);
   251   while (!result.is_null() && result->is_static()) {
   251   while (!result.is_null() && result->is_static() && result->method_holder()->super() != NULL) {
   252     klass = KlassHandle(THREAD, result->method_holder()->super());
   252     klass = KlassHandle(THREAD, result->method_holder()->super());
   253     result = methodHandle(THREAD, klass->uncached_lookup_method(name, signature));
   253     result = methodHandle(THREAD, klass->uncached_lookup_method(name, signature));
   254   }
   254   }
   255 
   255 
   256   if (result.is_null()) {
   256   if (result.is_null()) {