1.1 --- a/src/share/vm/runtime/fieldDescriptor.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/runtime/fieldDescriptor.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -27,6 +27,7 @@ 1.11 #include "classfile/vmSymbols.hpp" 1.12 #include "memory/resourceArea.hpp" 1.13 #include "memory/universe.inline.hpp" 1.14 +#include "oops/annotations.hpp" 1.15 #include "oops/instanceKlass.hpp" 1.16 #include "oops/fieldStreams.hpp" 1.17 #include "runtime/fieldDescriptor.hpp" 1.18 @@ -35,7 +36,7 @@ 1.19 1.20 1.21 oop fieldDescriptor::loader() const { 1.22 - return instanceKlass::cast(_cp->pool_holder())->class_loader(); 1.23 + return InstanceKlass::cast(_cp->pool_holder())->class_loader(); 1.24 } 1.25 1.26 Symbol* fieldDescriptor::generic_signature() const { 1.27 @@ -44,7 +45,7 @@ 1.28 } 1.29 1.30 int idx = 0; 1.31 - instanceKlass* ik = instanceKlass::cast(field_holder()); 1.32 + InstanceKlass* ik = InstanceKlass::cast(field_holder()); 1.33 for (AllFieldStream fs(ik); !fs.done(); fs.next()) { 1.34 if (idx == _index) { 1.35 return fs.generic_signature(); 1.36 @@ -56,12 +57,12 @@ 1.37 return NULL; 1.38 } 1.39 1.40 -typeArrayOop fieldDescriptor::annotations() const { 1.41 - instanceKlass* ik = instanceKlass::cast(field_holder()); 1.42 - objArrayOop md = ik->fields_annotations(); 1.43 +AnnotationArray* fieldDescriptor::annotations() const { 1.44 + InstanceKlass* ik = InstanceKlass::cast(field_holder()); 1.45 + Array<AnnotationArray*>* md = ik->fields_annotations(); 1.46 if (md == NULL) 1.47 return NULL; 1.48 - return typeArrayOop(md->obj_at(index())); 1.49 + return md->at(index()); 1.50 } 1.51 1.52 constantTag fieldDescriptor::initial_value_tag() const { 1.53 @@ -85,11 +86,10 @@ 1.54 } 1.55 1.56 oop fieldDescriptor::string_initial_value(TRAPS) const { 1.57 - return constants()->string_at(initial_value_index(), CHECK_0); 1.58 + return constants()->uncached_string_at(initial_value_index(), CHECK_0); 1.59 } 1.60 1.61 -void fieldDescriptor::initialize(klassOop k, int index) { 1.62 - instanceKlass* ik = instanceKlass::cast(k); 1.63 +void fieldDescriptor::initialize(InstanceKlass* ik, int index) { 1.64 _cp = ik->constants(); 1.65 FieldInfo* f = ik->field(index); 1.66 assert(!f->is_internal(), "regular Java fields only");