1.1 --- a/src/share/vm/oops/instanceKlass.hpp Tue May 21 19:52:01 2013 -0700 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Wed May 22 14:37:49 2013 -0400 1.3 @@ -58,8 +58,6 @@ 1.4 // [fields ] 1.5 // [constants ] 1.6 // [class loader ] 1.7 -// [protection domain ] 1.8 -// [signers ] 1.9 // [source file name ] 1.10 // [inner classes ] 1.11 // [static field size ] 1.12 @@ -180,16 +178,6 @@ 1.13 static volatile int _total_instanceKlass_count; 1.14 1.15 protected: 1.16 - // Protection domain. 1.17 - oop _protection_domain; 1.18 - // Class signers. 1.19 - objArrayOop _signers; 1.20 - // Lock for (1) initialization; (2) access to the ConstantPool of this class. 1.21 - // Must be one per class and it has to be a VM internal object so java code 1.22 - // cannot lock it (like the mirror). 1.23 - // It has to be an object not a Mutex because it's held through java calls. 1.24 - volatile oop _init_lock; 1.25 - 1.26 // Annotations for this class 1.27 Annotations* _annotations; 1.28 // Array classes holding elements of this class. 1.29 @@ -527,8 +515,10 @@ 1.30 void set_constants(ConstantPool* c) { _constants = c; } 1.31 1.32 // protection domain 1.33 - oop protection_domain() { return _protection_domain; } 1.34 - void set_protection_domain(oop pd) { klass_oop_store(&_protection_domain, pd); } 1.35 + oop protection_domain() const; 1.36 + 1.37 + // signers 1.38 + objArrayOop signers() const; 1.39 1.40 // host class 1.41 Klass* host_klass() const { 1.42 @@ -575,10 +565,6 @@ 1.43 } 1.44 } 1.45 1.46 - // signers 1.47 - objArrayOop signers() const { return _signers; } 1.48 - void set_signers(objArrayOop s) { klass_oop_store((oop*)&_signers, s); } 1.49 - 1.50 // source file name 1.51 Symbol* source_file_name() const { return _source_file_name; } 1.52 void set_source_file_name(Symbol* n); 1.53 @@ -912,8 +898,6 @@ 1.54 Method* method_at_itable(Klass* holder, int index, TRAPS); 1.55 1.56 // Garbage collection 1.57 - virtual void oops_do(OopClosure* cl); 1.58 - 1.59 void oop_follow_contents(oop obj); 1.60 int oop_adjust_pointers(oop obj); 1.61 1.62 @@ -999,14 +983,12 @@ 1.63 1.64 // Lock during initialization 1.65 public: 1.66 - volatile oop init_lock() const {return _init_lock; } 1.67 + // Lock for (1) initialization; (2) access to the ConstantPool of this class. 1.68 + // Must be one per class and it has to be a VM internal object so java code 1.69 + // cannot lock it (like the mirror). 1.70 + // It has to be an object not a Mutex because it's held through java calls. 1.71 + volatile oop init_lock() const; 1.72 private: 1.73 - void set_init_lock(oop value) { klass_oop_store(&_init_lock, value); } 1.74 - 1.75 - // Offsets for memory management 1.76 - oop* adr_protection_domain() const { return (oop*)&this->_protection_domain;} 1.77 - oop* adr_signers() const { return (oop*)&this->_signers;} 1.78 - oop* adr_init_lock() const { return (oop*)&this->_init_lock;} 1.79 1.80 // Static methods that are used to implement member methods where an exposed this pointer 1.81 // is needed due to possible GCs