Mercurial > hg > graal-jvmci-8
comparison src/share/vm/interpreter/linkResolver.cpp @ 13414:379f11bc04fc
8028438: static superclass method masks default methods
Reviewed-by: hseigel, lfoltan, coleenp
author | acorn |
---|---|
date | Tue, 03 Dec 2013 11:13:14 -0800 |
parents | 7a58803b5069 |
children | 769557390c43 |
comparison
equal
deleted
inserted
replaced
13413:7a58803b5069 | 13414:379f11bc04fc |
---|---|
265 // Looks up method in classes, then looks up local default methods | 265 // Looks up method in classes, then looks up local default methods |
266 void LinkResolver::lookup_instance_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) { | 266 void LinkResolver::lookup_instance_method_in_klasses(methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature, TRAPS) { |
267 Method* result_oop = klass->uncached_lookup_method(name, signature); | 267 Method* result_oop = klass->uncached_lookup_method(name, signature); |
268 result = methodHandle(THREAD, result_oop); | 268 result = methodHandle(THREAD, result_oop); |
269 while (!result.is_null() && result->is_static() && result->method_holder()->super() != NULL) { | 269 while (!result.is_null() && result->is_static() && result->method_holder()->super() != NULL) { |
270 klass = KlassHandle(THREAD, result->method_holder()->super()); | 270 KlassHandle super_klass = KlassHandle(THREAD, result->method_holder()->super()); |
271 result = methodHandle(THREAD, klass->uncached_lookup_method(name, signature)); | 271 result = methodHandle(THREAD, super_klass->uncached_lookup_method(name, signature)); |
272 } | 272 } |
273 | 273 |
274 if (result.is_null()) { | 274 if (result.is_null()) { |
275 Array<Method*>* default_methods = InstanceKlass::cast(klass())->default_methods(); | 275 Array<Method*>* default_methods = InstanceKlass::cast(klass())->default_methods(); |
276 if (default_methods != NULL) { | 276 if (default_methods != NULL) { |