comparison src/share/vm/runtime/fieldDescriptor.cpp @ 6275:957c266d8bc5

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Aug 2012 10:39:19 +0200
parents 634b8615a6ba
children da91efe96a93
comparison
equal deleted inserted replaced
5891:fd8832ae511d 6275:957c266d8bc5
26 #include "classfile/systemDictionary.hpp" 26 #include "classfile/systemDictionary.hpp"
27 #include "classfile/vmSymbols.hpp" 27 #include "classfile/vmSymbols.hpp"
28 #include "memory/resourceArea.hpp" 28 #include "memory/resourceArea.hpp"
29 #include "memory/universe.inline.hpp" 29 #include "memory/universe.inline.hpp"
30 #include "oops/instanceKlass.hpp" 30 #include "oops/instanceKlass.hpp"
31 #include "oops/fieldStreams.hpp"
31 #include "runtime/fieldDescriptor.hpp" 32 #include "runtime/fieldDescriptor.hpp"
32 #include "runtime/handles.inline.hpp" 33 #include "runtime/handles.inline.hpp"
33 #include "runtime/signature.hpp" 34 #include "runtime/signature.hpp"
34 35
35 36
36 oop fieldDescriptor::loader() const { 37 oop fieldDescriptor::loader() const {
37 return instanceKlass::cast(_cp->pool_holder())->class_loader(); 38 return instanceKlass::cast(_cp->pool_holder())->class_loader();
39 }
40
41 Symbol* fieldDescriptor::generic_signature() const {
42 if (!has_generic_signature()) {
43 return NULL;
44 }
45
46 int idx = 0;
47 instanceKlass* ik = instanceKlass::cast(field_holder());
48 for (AllFieldStream fs(ik); !fs.done(); fs.next()) {
49 if (idx == _index) {
50 return fs.generic_signature();
51 } else {
52 idx ++;
53 }
54 }
55 assert(false, "should never happen");
56 return NULL;
38 } 57 }
39 58
40 typeArrayOop fieldDescriptor::annotations() const { 59 typeArrayOop fieldDescriptor::annotations() const {
41 instanceKlass* ik = instanceKlass::cast(field_holder()); 60 instanceKlass* ik = instanceKlass::cast(field_holder());
42 objArrayOop md = ik->fields_annotations(); 61 objArrayOop md = ik->fields_annotations();