hotspot/src/share/vm/classfile/systemDictionary.cpp
changeset 27247 99db666dbe8e
parent 26911 8f2c7a83220f
child 27673 df559a888b9f
child 27677 b1997f2f1b56
equal deleted inserted replaced
27155:9059987242ca 27247:99db666dbe8e
  1688 };
  1688 };
  1689 #endif
  1689 #endif
  1690 
  1690 
  1691 // Assumes classes in the SystemDictionary are only unloaded at a safepoint
  1691 // Assumes classes in the SystemDictionary are only unloaded at a safepoint
  1692 // Note: anonymous classes are not in the SD.
  1692 // Note: anonymous classes are not in the SD.
  1693 bool SystemDictionary::do_unloading(BoolObjectClosure* is_alive) {
  1693 bool SystemDictionary::do_unloading(BoolObjectClosure* is_alive, bool clean_alive) {
  1694   // First, mark for unload all ClassLoaderData referencing a dead class loader.
  1694   // First, mark for unload all ClassLoaderData referencing a dead class loader.
  1695   bool unloading_occurred = ClassLoaderDataGraph::do_unloading(is_alive);
  1695   bool unloading_occurred = ClassLoaderDataGraph::do_unloading(is_alive, clean_alive);
  1696   if (unloading_occurred) {
  1696   if (unloading_occurred) {
  1697     dictionary()->do_unloading();
  1697     dictionary()->do_unloading();
  1698     constraints()->purge_loader_constraints();
  1698     constraints()->purge_loader_constraints();
  1699     resolution_errors()->purge_resolution_errors();
  1699     resolution_errors()->purge_resolution_errors();
  1700   }
  1700   }