Mercurial > hg > truffle
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* |