8036805: Correct linker method lookup

Correct handling of array of primitive type qualifiers during field and method resolution.

Reviewed-by: acorn, hseigel, ahgross
This commit is contained in:
Lois Foltan 2014-05-07 19:38:22 +04:00
parent f8d533e6b6
commit edc10143cb
5 changed files with 54 additions and 20 deletions

View file

@ -64,6 +64,13 @@ oop ArrayKlass::multi_allocate(int rank, jint* sizes, TRAPS) {
return NULL;
}
// find field according to JVM spec 5.4.3.2, returns the klass in which the field is defined
Klass* ArrayKlass::find_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const {
// There are no fields in an array klass but look to the super class (Object)
assert(super(), "super klass must be present");
return super()->find_field(name, sig, fd);
}
Method* ArrayKlass::uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const {
// There are no methods in an array klass but the super class (Object) has some
assert(super(), "super klass must be present");