equal
deleted
inserted
replaced
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
|
26 #include "classfile/classLoaderData.hpp" |
26 #include "classfile/stringTable.hpp" |
27 #include "classfile/stringTable.hpp" |
27 #include "classfile/symbolTable.hpp" |
28 #include "classfile/symbolTable.hpp" |
28 #include "classfile/systemDictionary.hpp" |
29 #include "classfile/systemDictionary.hpp" |
29 #include "code/codeCache.hpp" |
30 #include "code/codeCache.hpp" |
30 #include "code/icBuffer.hpp" |
31 #include "code/icBuffer.hpp" |
616 EventSafepointCleanupTask event; |
617 EventSafepointCleanupTask event; |
617 TraceTime timer(name, TRACETIME_LOG(Info, safepoint, cleanup)); |
618 TraceTime timer(name, TRACETIME_LOG(Info, safepoint, cleanup)); |
618 ClassLoaderDataGraph::purge_if_needed(); |
619 ClassLoaderDataGraph::purge_if_needed(); |
619 event_safepoint_cleanup_task_commit(event, name); |
620 event_safepoint_cleanup_task_commit(event, name); |
620 } |
621 } |
|
622 |
|
623 if (!_subtasks.is_task_claimed(SafepointSynchronize::SAFEPOINT_CLEANUP_SYSTEM_DICTIONARY_RESIZE)) { |
|
624 const char* name = "resizing system dictionaries"; |
|
625 EventSafepointCleanupTask event; |
|
626 TraceTime timer(name, TRACETIME_LOG(Info, safepoint, cleanup)); |
|
627 ClassLoaderDataGraph::resize_if_needed(); |
|
628 event_safepoint_cleanup_task_commit(event, name); |
|
629 } |
621 _subtasks.all_tasks_completed(_num_workers); |
630 _subtasks.all_tasks_completed(_num_workers); |
622 } |
631 } |
623 }; |
632 }; |
624 |
633 |
625 // Various cleaning tasks that should be done periodically at safepoints. |
634 // Various cleaning tasks that should be done periodically at safepoints. |