comparison src/share/vm/oops/arrayKlass.hpp @ 18046:096a7e12d63f

8036805: Correct linker method lookup. Summary: Correct handling of array of primitive type qualifiers during field and method resolution. Reviewed-by: acorn, hseigel, ahgross
author lfoltan
date Tue, 15 Apr 2014 16:17:20 -0400
parents 71180a6e5080
children 54bc75c144b0
comparison
equal deleted inserted replaced
17583:b5ae226b7516 18046:096a7e12d63f
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
26 #define SHARE_VM_OOPS_ARRAYKLASS_HPP 26 #define SHARE_VM_OOPS_ARRAYKLASS_HPP
27 27
28 #include "memory/universe.hpp" 28 #include "memory/universe.hpp"
29 #include "oops/klass.hpp" 29 #include "oops/klass.hpp"
30 30
31 class fieldDescriptor;
31 class klassVtable; 32 class klassVtable;
32 33
33 // ArrayKlass is the abstract baseclass for all array classes 34 // ArrayKlass is the abstract baseclass for all array classes
34 35
35 class ArrayKlass: public Klass { 36 class ArrayKlass: public Klass {
82 // Allocation 83 // Allocation
83 // Sizes points to the first dimension of the array, subsequent dimensions 84 // Sizes points to the first dimension of the array, subsequent dimensions
84 // are always in higher memory. The callers of these set that up. 85 // are always in higher memory. The callers of these set that up.
85 virtual oop multi_allocate(int rank, jint* sizes, TRAPS); 86 virtual oop multi_allocate(int rank, jint* sizes, TRAPS);
86 objArrayOop allocate_arrayArray(int n, int length, TRAPS); 87 objArrayOop allocate_arrayArray(int n, int length, TRAPS);
88
89 // find field according to JVM spec 5.4.3.2, returns the klass in which the field is defined
90 Klass* find_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
87 91
88 // Lookup operations 92 // Lookup operations
89 Method* uncached_lookup_method(Symbol* name, Symbol* signature) const; 93 Method* uncached_lookup_method(Symbol* name, Symbol* signature) const;
90 94
91 // Casting from Klass* 95 // Casting from Klass*