hotspot/src/share/vm/oops/klass.hpp
changeset 11480 1bf714e8adb4
parent 8725 8c1e3dd5fe1b
child 11481 d2276da7c259
equal deleted inserted replaced
11441:a89f443814cd 11480:1bf714e8adb4
    31 #include "memory/specialized_oop_closures.hpp"
    31 #include "memory/specialized_oop_closures.hpp"
    32 #include "oops/klassOop.hpp"
    32 #include "oops/klassOop.hpp"
    33 #include "oops/klassPS.hpp"
    33 #include "oops/klassPS.hpp"
    34 #include "oops/oop.hpp"
    34 #include "oops/oop.hpp"
    35 #include "runtime/orderAccess.hpp"
    35 #include "runtime/orderAccess.hpp"
       
    36 #include "trace/traceMacros.hpp"
    36 #include "utilities/accessFlags.hpp"
    37 #include "utilities/accessFlags.hpp"
    37 #ifndef SERIALGC
    38 #ifndef SERIALGC
    38 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp"
    39 #include "gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp"
    39 #include "gc_implementation/g1/g1OopClosures.hpp"
    40 #include "gc_implementation/g1/g1OopClosures.hpp"
    40 #include "gc_implementation/parNew/parOopClosures.hpp"
    41 #include "gc_implementation/parNew/parOopClosures.hpp"
    78 //    [verify_count  ] - not in product
    79 //    [verify_count  ] - not in product
    79 //    [alloc_count   ]
    80 //    [alloc_count   ]
    80 //    [last_biased_lock_bulk_revocation_time] (64 bits)
    81 //    [last_biased_lock_bulk_revocation_time] (64 bits)
    81 //    [prototype_header]
    82 //    [prototype_header]
    82 //    [biased_lock_revocation_count]
    83 //    [biased_lock_revocation_count]
       
    84 //    [trace_id]
    83 
    85 
    84 
    86 
    85 // Forward declarations.
    87 // Forward declarations.
    86 class klassVtable;
    88 class klassVtable;
    87 class KlassHandle;
    89 class KlassHandle;
   261   // (the 64-bit chunk goes first, to avoid some fragmentation)
   263   // (the 64-bit chunk goes first, to avoid some fragmentation)
   262   jlong    _last_biased_lock_bulk_revocation_time;
   264   jlong    _last_biased_lock_bulk_revocation_time;
   263   markOop  _prototype_header;   // Used when biased locking is both enabled and disabled for this type
   265   markOop  _prototype_header;   // Used when biased locking is both enabled and disabled for this type
   264   jint     _biased_lock_revocation_count;
   266   jint     _biased_lock_revocation_count;
   265 
   267 
       
   268 #ifdef TRACE_DEFINE_KLASS_TRACE_ID
       
   269   TRACE_DEFINE_KLASS_TRACE_ID;
       
   270 #endif
   266  public:
   271  public:
   267 
   272 
   268   // returns the enclosing klassOop
   273   // returns the enclosing klassOop
   269   klassOop as_klassOop() const {
   274   klassOop as_klassOop() const {
   270     // see klassOop.hpp for layout.
   275     // see klassOop.hpp for layout.
   681   int atomic_incr_biased_lock_revocation_count();
   686   int atomic_incr_biased_lock_revocation_count();
   682   void set_biased_lock_revocation_count(int val) { _biased_lock_revocation_count = (jint) val; }
   687   void set_biased_lock_revocation_count(int val) { _biased_lock_revocation_count = (jint) val; }
   683   jlong last_biased_lock_bulk_revocation_time() { return _last_biased_lock_bulk_revocation_time; }
   688   jlong last_biased_lock_bulk_revocation_time() { return _last_biased_lock_bulk_revocation_time; }
   684   void  set_last_biased_lock_bulk_revocation_time(jlong cur_time) { _last_biased_lock_bulk_revocation_time = cur_time; }
   689   void  set_last_biased_lock_bulk_revocation_time(jlong cur_time) { _last_biased_lock_bulk_revocation_time = cur_time; }
   685 
   690 
       
   691 #ifdef TRACE_DEFINE_KLASS_METHODS
       
   692   TRACE_DEFINE_KLASS_METHODS;
       
   693 #endif
   686 
   694 
   687   // garbage collection support
   695   // garbage collection support
   688   virtual void follow_weak_klass_links(
   696   virtual void follow_weak_klass_links(
   689     BoolObjectClosure* is_alive, OopClosure* keep_alive);
   697     BoolObjectClosure* is_alive, OopClosure* keep_alive);
   690 
   698