57 #include "utilities/macros.hpp" |
57 #include "utilities/macros.hpp" |
58 #if INCLUDE_ALL_GCS |
58 #if INCLUDE_ALL_GCS |
59 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" |
59 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" |
60 #include "gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp" |
60 #include "gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp" |
61 #endif // INCLUDE_ALL_GCS |
61 #endif // INCLUDE_ALL_GCS |
|
62 #if INCLUDE_JFR |
|
63 #include "jfr/jfr.hpp" |
|
64 #endif // INCLUDE_JFR |
62 |
65 |
63 GenCollectedHeap* GenCollectedHeap::_gch; |
66 GenCollectedHeap* GenCollectedHeap::_gch; |
64 NOT_PRODUCT(size_t GenCollectedHeap::_skip_header_HeapWords = 0;) |
67 NOT_PRODUCT(size_t GenCollectedHeap::_skip_header_HeapWords = 0;) |
65 |
68 |
66 // The set of potentially parallel tasks in root scanning. |
69 // The set of potentially parallel tasks in root scanning. |
745 } |
748 } |
746 |
749 |
747 |
750 |
748 void GenCollectedHeap::gen_process_weak_roots(OopClosure* root_closure) { |
751 void GenCollectedHeap::gen_process_weak_roots(OopClosure* root_closure) { |
749 JNIHandles::weak_oops_do(root_closure); |
752 JNIHandles::weak_oops_do(root_closure); |
|
753 JFR_ONLY(Jfr::weak_oops_do(root_closure)); |
750 for (int i = 0; i < _n_gens; i++) { |
754 for (int i = 0; i < _n_gens; i++) { |
751 _gens[i]->ref_processor()->weak_oops_do(root_closure); |
755 _gens[i]->ref_processor()->weak_oops_do(root_closure); |
752 } |
756 } |
753 } |
757 } |
754 |
758 |