1.1 --- a/src/share/vm/oops/instanceKlass.hpp Fri May 18 14:57:28 2012 -0700 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Mon May 21 14:10:35 2012 -0400 1.3 @@ -168,8 +168,19 @@ 1.4 objArrayOop _local_interfaces; 1.5 // Interface (klassOops) this class implements transitively. 1.6 objArrayOop _transitive_interfaces; 1.7 - // Instance and static variable information, 5-tuples of shorts [access, name 1.8 - // index, sig index, initval index, offset]. 1.9 + // Instance and static variable information, starts with 6-tuples of shorts 1.10 + // [access, name index, sig index, initval index, low_offset, high_offset] 1.11 + // for all fields, followed by the generic signature data at the end of 1.12 + // the array. Only fields with generic signature attributes have the generic 1.13 + // signature data set in the array. The fields array looks like following: 1.14 + // 1.15 + // f1: [access, name index, sig index, initial value index, low_offset, high_offset] 1.16 + // f2: [access, name index, sig index, initial value index, low_offset, high_offset] 1.17 + // ... 1.18 + // fn: [access, name index, sig index, initial value index, low_offset, high_offset] 1.19 + // [generic signature index] 1.20 + // [generic signature index] 1.21 + // ... 1.22 typeArrayOop _fields; 1.23 // Constant pool for this class. 1.24 constantPoolOop _constants; 1.25 @@ -351,9 +362,6 @@ 1.26 // Number of Java declared fields 1.27 int java_fields_count() const { return (int)_java_fields_count; } 1.28 1.29 - // Number of fields including any injected fields 1.30 - int all_fields_count() const { return _fields->length() / FieldInfo::field_slots; } 1.31 - 1.32 typeArrayOop fields() const { return _fields; } 1.33 1.34 void set_fields(typeArrayOop f, u2 java_fields_count) {