comparison src/share/vm/classfile/javaClasses.hpp @ 11019:eaf3742822ec

Merge
author chegar
date Mon, 17 Jun 2013 11:17:49 +0100
parents 7ee0d5c53c78 6bd680e9ea35
children ba9dacff9c9d
comparison
equal deleted inserted replaced
11018:0861193d358a 11019:eaf3742822ec
206 206
207 #define CLASS_INJECTED_FIELDS(macro) \ 207 #define CLASS_INJECTED_FIELDS(macro) \
208 macro(java_lang_Class, klass, intptr_signature, false) \ 208 macro(java_lang_Class, klass, intptr_signature, false) \
209 macro(java_lang_Class, array_klass, intptr_signature, false) \ 209 macro(java_lang_Class, array_klass, intptr_signature, false) \
210 macro(java_lang_Class, oop_size, int_signature, false) \ 210 macro(java_lang_Class, oop_size, int_signature, false) \
211 macro(java_lang_Class, static_oop_field_count, int_signature, false) 211 macro(java_lang_Class, static_oop_field_count, int_signature, false) \
212 macro(java_lang_Class, protection_domain, object_signature, false) \
213 macro(java_lang_Class, init_lock, object_signature, false) \
214 macro(java_lang_Class, signers, object_signature, false)
212 215
213 class java_lang_Class : AllStatic { 216 class java_lang_Class : AllStatic {
214 friend class VMStructs; 217 friend class VMStructs;
215 218
216 private: 219 private:
219 static int _klass_offset; 222 static int _klass_offset;
220 static int _array_klass_offset; 223 static int _array_klass_offset;
221 224
222 static int _oop_size_offset; 225 static int _oop_size_offset;
223 static int _static_oop_field_count_offset; 226 static int _static_oop_field_count_offset;
227
228 static int _protection_domain_offset;
229 static int _init_lock_offset;
230 static int _signers_offset;
224 231
225 static bool offsets_computed; 232 static bool offsets_computed;
226 static int classRedefinedCount_offset; 233 static int classRedefinedCount_offset;
227 static GrowableArray<Klass*>* _fixup_mirror_list; 234 static GrowableArray<Klass*>* _fixup_mirror_list;
228 235
236 static void set_init_lock(oop java_class, oop init_lock);
229 public: 237 public:
230 static void compute_offsets(); 238 static void compute_offsets();
231 239
232 // Instance creation 240 // Instance creation
233 static oop create_mirror(KlassHandle k, TRAPS); 241 static oop create_mirror(KlassHandle k, Handle protection_domain, TRAPS);
234 static void fixup_mirror(KlassHandle k, TRAPS); 242 static void fixup_mirror(KlassHandle k, TRAPS);
235 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); 243 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
236 // Conversion 244 // Conversion
237 static Klass* as_Klass(oop java_class); 245 static Klass* as_Klass(oop java_class);
238 static void set_klass(oop java_class, Klass* klass); 246 static void set_klass(oop java_class, Klass* klass);
259 static int klass_offset_in_bytes() { return _klass_offset; } 267 static int klass_offset_in_bytes() { return _klass_offset; }
260 static int array_klass_offset_in_bytes() { return _array_klass_offset; } 268 static int array_klass_offset_in_bytes() { return _array_klass_offset; }
261 // Support for classRedefinedCount field 269 // Support for classRedefinedCount field
262 static int classRedefinedCount(oop the_class_mirror); 270 static int classRedefinedCount(oop the_class_mirror);
263 static void set_classRedefinedCount(oop the_class_mirror, int value); 271 static void set_classRedefinedCount(oop the_class_mirror, int value);
272
273 // Support for embedded per-class oops
274 static oop protection_domain(oop java_class);
275 static void set_protection_domain(oop java_class, oop protection_domain);
276 static oop init_lock(oop java_class);
277 static objArrayOop signers(oop java_class);
278 static void set_signers(oop java_class, objArrayOop signers);
264 279
265 static int oop_size(oop java_class); 280 static int oop_size(oop java_class);
266 static void set_oop_size(oop java_class, int size); 281 static void set_oop_size(oop java_class, int size);
267 static int static_oop_field_count(oop java_class); 282 static int static_oop_field_count(oop java_class);
268 static void set_static_oop_field_count(oop java_class, int size); 283 static void set_static_oop_field_count(oop java_class, int size);