hotspot/src/share/vm/oops/constantPoolKlass.hpp
changeset 1894 5c343868d071
parent 670 ddf3e9583f2f
child 2105 347008ce7984
equal deleted inserted replaced
1893:c82e388e17c5 1894:5c343868d071
    32   int oop_size(oop obj) const;
    32   int oop_size(oop obj) const;
    33   int klass_oop_size() const        { return object_size(); }
    33   int klass_oop_size() const        { return object_size(); }
    34 
    34 
    35   // Allocation
    35   // Allocation
    36   DEFINE_ALLOCATE_PERMANENT(constantPoolKlass);
    36   DEFINE_ALLOCATE_PERMANENT(constantPoolKlass);
    37   constantPoolOop allocate(int length, TRAPS);
    37   constantPoolOop allocate(int length, bool is_conc_safe, TRAPS);
    38   static klassOop create_klass(TRAPS);
    38   static klassOop create_klass(TRAPS);
    39 
    39 
    40   // Casting from klassOop
    40   // Casting from klassOop
    41   static constantPoolKlass* cast(klassOop k) {
    41   static constantPoolKlass* cast(klassOop k) {
    42     assert(k->klass_part()->oop_is_constantPool(), "cast to constantPoolKlass");
    42     assert(k->klass_part()->oop_is_constantPool(), "cast to constantPoolKlass");
    46   // Sizing
    46   // Sizing
    47   static int header_size()        { return oopDesc::header_size() + sizeof(constantPoolKlass)/HeapWordSize; }
    47   static int header_size()        { return oopDesc::header_size() + sizeof(constantPoolKlass)/HeapWordSize; }
    48   int object_size() const        { return align_object_size(header_size()); }
    48   int object_size() const        { return align_object_size(header_size()); }
    49 
    49 
    50   // Garbage collection
    50   // Garbage collection
       
    51   // Returns true is the object is safe for GC concurrent processing.
       
    52   virtual bool oop_is_conc_safe(oop obj) const;
    51   void oop_follow_contents(oop obj);
    53   void oop_follow_contents(oop obj);
    52   int oop_adjust_pointers(oop obj);
    54   int oop_adjust_pointers(oop obj);
    53 
    55 
    54   // Parallel Scavenge and Parallel Old
    56   // Parallel Scavenge and Parallel Old
    55   PARALLEL_GC_DECLS
    57   PARALLEL_GC_DECLS