comparison src/share/vm/oops/klass.hpp @ 7968:44c5fcd9cb25

8006280: Need to reorder metadata structures to reduce size (64-bit) Summary: Reordered Klass, InstanceKlass and Method to save 8 bytes each Reviewed-by: coleenp, jiangli Contributed-by: ioi.lam@oracle.com
author iklam
date Thu, 24 Jan 2013 10:57:38 -0800
parents 30866cd626b0
children 1eae78177059
comparison
equal deleted inserted replaced
7950:6cf2530f7fd3 7968:44c5fcd9cb25
73 // [next_sibling ] link to chain additional subklasses 73 // [next_sibling ] link to chain additional subklasses
74 // [next_link ] 74 // [next_link ]
75 // [class_loader_data] 75 // [class_loader_data]
76 // [modifier_flags] 76 // [modifier_flags]
77 // [access_flags ] 77 // [access_flags ]
78 // [verify_count ] - not in product
79 // [alloc_count ]
80 // [last_biased_lock_bulk_revocation_time] (64 bits) 78 // [last_biased_lock_bulk_revocation_time] (64 bits)
81 // [prototype_header] 79 // [prototype_header]
82 // [biased_lock_revocation_count] 80 // [biased_lock_revocation_count]
81 // [verify_count ] - not in product
82 // [alloc_count ]
83 // [_modified_oops] 83 // [_modified_oops]
84 // [_accumulated_modified_oops] 84 // [_accumulated_modified_oops]
85 // [trace_id] 85 // [trace_id]
86 86
87 87
162 ClassLoaderData* _class_loader_data; 162 ClassLoaderData* _class_loader_data;
163 163
164 jint _modifier_flags; // Processed access flags, for use by Class.getModifiers. 164 jint _modifier_flags; // Processed access flags, for use by Class.getModifiers.
165 AccessFlags _access_flags; // Access flags. The class/interface distinction is stored here. 165 AccessFlags _access_flags; // Access flags. The class/interface distinction is stored here.
166 166
167 #ifndef PRODUCT
168 int _verify_count; // to avoid redundant verifies
169 #endif
170
171 juint _alloc_count; // allocation profiling support
172
173 // Biased locking implementation and statistics 167 // Biased locking implementation and statistics
174 // (the 64-bit chunk goes first, to avoid some fragmentation) 168 // (the 64-bit chunk goes first, to avoid some fragmentation)
175 jlong _last_biased_lock_bulk_revocation_time; 169 jlong _last_biased_lock_bulk_revocation_time;
176 markOop _prototype_header; // Used when biased locking is both enabled and disabled for this type 170 markOop _prototype_header; // Used when biased locking is both enabled and disabled for this type
177 jint _biased_lock_revocation_count; 171 jint _biased_lock_revocation_count;
172
173 #ifndef PRODUCT
174 int _verify_count; // to avoid redundant verifies
175 #endif
176
177 juint _alloc_count; // allocation profiling support
178 178
179 TRACE_DEFINE_KLASS_TRACE_ID; 179 TRACE_DEFINE_KLASS_TRACE_ID;
180 180
181 // Remembered sets support for the oops in the klasses. 181 // Remembered sets support for the oops in the klasses.
182 jbyte _modified_oops; // Card Table Equivalent (YC/CMS support) 182 jbyte _modified_oops; // Card Table Equivalent (YC/CMS support)