equal
deleted
inserted
replaced
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 |