1.1 --- a/src/share/vm/classfile/javaClasses.hpp Fri May 31 10:27:12 2013 +0100 1.2 +++ b/src/share/vm/classfile/javaClasses.hpp Mon Jun 17 11:17:49 2013 +0100 1.3 @@ -208,7 +208,10 @@ 1.4 macro(java_lang_Class, klass, intptr_signature, false) \ 1.5 macro(java_lang_Class, array_klass, intptr_signature, false) \ 1.6 macro(java_lang_Class, oop_size, int_signature, false) \ 1.7 - macro(java_lang_Class, static_oop_field_count, int_signature, false) 1.8 + macro(java_lang_Class, static_oop_field_count, int_signature, false) \ 1.9 + macro(java_lang_Class, protection_domain, object_signature, false) \ 1.10 + macro(java_lang_Class, init_lock, object_signature, false) \ 1.11 + macro(java_lang_Class, signers, object_signature, false) 1.12 1.13 class java_lang_Class : AllStatic { 1.14 friend class VMStructs; 1.15 @@ -222,15 +225,20 @@ 1.16 static int _oop_size_offset; 1.17 static int _static_oop_field_count_offset; 1.18 1.19 + static int _protection_domain_offset; 1.20 + static int _init_lock_offset; 1.21 + static int _signers_offset; 1.22 + 1.23 static bool offsets_computed; 1.24 static int classRedefinedCount_offset; 1.25 static GrowableArray<Klass*>* _fixup_mirror_list; 1.26 1.27 + static void set_init_lock(oop java_class, oop init_lock); 1.28 public: 1.29 static void compute_offsets(); 1.30 1.31 // Instance creation 1.32 - static oop create_mirror(KlassHandle k, TRAPS); 1.33 + static oop create_mirror(KlassHandle k, Handle protection_domain, TRAPS); 1.34 static void fixup_mirror(KlassHandle k, TRAPS); 1.35 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); 1.36 // Conversion 1.37 @@ -262,6 +270,13 @@ 1.38 static int classRedefinedCount(oop the_class_mirror); 1.39 static void set_classRedefinedCount(oop the_class_mirror, int value); 1.40 1.41 + // Support for embedded per-class oops 1.42 + static oop protection_domain(oop java_class); 1.43 + static void set_protection_domain(oop java_class, oop protection_domain); 1.44 + static oop init_lock(oop java_class); 1.45 + static objArrayOop signers(oop java_class); 1.46 + static void set_signers(oop java_class, objArrayOop signers); 1.47 + 1.48 static int oop_size(oop java_class); 1.49 static void set_oop_size(oop java_class, int size); 1.50 static int static_oop_field_count(oop java_class);