comparison src/share/vm/oops/klassVtable.cpp @ 10166:08236d966eea

8013418: assert(i == total_args_passed) in AdapterHandlerLibrary::get_adapter since 8-b87 Summary: Do not treat static methods as miranda methods. Reviewed-by: dholmes, acorn
author bharadwaj
date Wed, 01 May 2013 08:07:59 -0700
parents cd3089a56438
children b2e698d2276c
comparison
equal deleted inserted replaced
10163:376ff861f611 10166:08236d966eea
517 } 517 }
518 518
519 // check if a method is a miranda method, given a class's methods table and it's super 519 // check if a method is a miranda method, given a class's methods table and it's super
520 // the caller must make sure that the method belongs to an interface implemented by the class 520 // the caller must make sure that the method belongs to an interface implemented by the class
521 bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods, Klass* super) { 521 bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods, Klass* super) {
522 if (m->is_static()) {
523 return false;
524 }
522 Symbol* name = m->name(); 525 Symbol* name = m->name();
523 Symbol* signature = m->signature(); 526 Symbol* signature = m->signature();
524 if (InstanceKlass::find_method(class_methods, name, signature) == NULL) { 527 if (InstanceKlass::find_method(class_methods, name, signature) == NULL) {
525 // did not find it in the method table of the current class 528 // did not find it in the method table of the current class
526 if (super == NULL) { 529 if (super == NULL) {