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

@ -28,6 +28,7 @@
#include "memory/universe.hpp"
#include "oops/klass.hpp"
class fieldDescriptor;
class klassVtable;
// ArrayKlass is the abstract baseclass for all array classes
@ -77,6 +78,9 @@ class ArrayKlass: public Klass {
virtual oop multi_allocate(int rank, jint* sizes, TRAPS);
objArrayOop allocate_arrayArray(int n, int length, TRAPS);
// find field according to JVM spec 5.4.3.2, returns the klass in which the field is defined
Klass* find_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
// Lookup operations
Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;