src/share/vm/classfile/systemDictionary.cpp

changeset 9866
41515291559a
parent 9858
b985cbb00e68
child 9886
986b79fabfa0
equal deleted inserted replaced
9865:5a83b7215107 9866:41515291559a
136 } else { 136 } else {
137 return true; 137 return true;
138 } 138 }
139 } 139 }
140 140
141 #endif
142 #if INCLUDE_JFR
143 #include "jfr/jfr.hpp"
141 #endif 144 #endif
142 145
143 // ---------------------------------------------------------------------------- 146 // ----------------------------------------------------------------------------
144 // Parallel class loading check 147 // Parallel class loading check
145 148
1747 // Note: anonymous classes are not in the SD. 1750 // Note: anonymous classes are not in the SD.
1748 bool SystemDictionary::do_unloading(BoolObjectClosure* is_alive, bool clean_alive) { 1751 bool SystemDictionary::do_unloading(BoolObjectClosure* is_alive, bool clean_alive) {
1749 // First, mark for unload all ClassLoaderData referencing a dead class loader. 1752 // First, mark for unload all ClassLoaderData referencing a dead class loader.
1750 bool unloading_occurred = ClassLoaderDataGraph::do_unloading(is_alive, clean_alive); 1753 bool unloading_occurred = ClassLoaderDataGraph::do_unloading(is_alive, clean_alive);
1751 if (unloading_occurred) { 1754 if (unloading_occurred) {
1755 JFR_ONLY(Jfr::on_unloading_classes();)
1752 dictionary()->do_unloading(); 1756 dictionary()->do_unloading();
1753 constraints()->purge_loader_constraints(); 1757 constraints()->purge_loader_constraints();
1754 resolution_errors()->purge_resolution_errors(); 1758 resolution_errors()->purge_resolution_errors();
1755 } 1759 }
1756 // Oops referenced by the system dictionary may get unreachable independently 1760 // Oops referenced by the system dictionary may get unreachable independently

mercurial