51 #include "runtime/vmThread.hpp" |
51 #include "runtime/vmThread.hpp" |
52 #include "services/management.hpp" |
52 #include "services/management.hpp" |
53 #include "services/memoryService.hpp" |
53 #include "services/memoryService.hpp" |
54 #include "utilities/events.hpp" |
54 #include "utilities/events.hpp" |
55 #include "utilities/stack.inline.hpp" |
55 #include "utilities/stack.inline.hpp" |
|
56 #if INCLUDE_JFR |
|
57 #include "jfr/jfr.hpp" |
|
58 #endif // INCLUDE_JFR |
56 |
59 |
57 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
60 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
58 |
61 |
59 elapsedTimer PSMarkSweep::_accumulated_time; |
62 elapsedTimer PSMarkSweep::_accumulated_time; |
60 jlong PSMarkSweep::_time_of_last_gc = 0; |
63 jlong PSMarkSweep::_time_of_last_gc = 0; |
622 |
625 |
623 // Now adjust pointers in remaining weak roots. (All of which should |
626 // Now adjust pointers in remaining weak roots. (All of which should |
624 // have been cleared if they pointed to non-surviving objects.) |
627 // have been cleared if they pointed to non-surviving objects.) |
625 // Global (weak) JNI handles |
628 // Global (weak) JNI handles |
626 JNIHandles::weak_oops_do(adjust_pointer_closure()); |
629 JNIHandles::weak_oops_do(adjust_pointer_closure()); |
|
630 JFR_ONLY(Jfr::weak_oops_do(adjust_pointer_closure())); |
627 |
631 |
628 CodeBlobToOopClosure adjust_from_blobs(adjust_pointer_closure(), CodeBlobToOopClosure::FixRelocations); |
632 CodeBlobToOopClosure adjust_from_blobs(adjust_pointer_closure(), CodeBlobToOopClosure::FixRelocations); |
629 CodeCache::blobs_do(&adjust_from_blobs); |
633 CodeCache::blobs_do(&adjust_from_blobs); |
630 StringTable::oops_do(adjust_pointer_closure()); |
634 StringTable::oops_do(adjust_pointer_closure()); |
631 ref_processor()->weak_oops_do(adjust_pointer_closure()); |
635 ref_processor()->weak_oops_do(adjust_pointer_closure()); |