src/share/vm/oops/instanceKlass.hpp

changeset 5176
6bd680e9ea35
parent 5097
92ef81e2f571
child 5178
b7fa10a3a69a
     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

mercurial