5952 |
5952 |
5953 // Follow SystemDictionary roots and unload classes |
5953 // Follow SystemDictionary roots and unload classes |
5954 bool purged_class = SystemDictionary::do_unloading(&_is_alive_closure); |
5954 bool purged_class = SystemDictionary::do_unloading(&_is_alive_closure); |
5955 |
5955 |
5956 // Follow CodeCache roots and unload any methods marked for unloading |
5956 // Follow CodeCache roots and unload any methods marked for unloading |
5957 CodeCache::do_unloading(&_is_alive_closure, |
5957 CodeCache::do_unloading(&_is_alive_closure, purged_class); |
5958 &cmsKeepAliveClosure, |
|
5959 purged_class); |
|
5960 |
5958 |
5961 cmsDrainMarkingStackClosure.do_void(); |
5959 cmsDrainMarkingStackClosure.do_void(); |
5962 verify_work_stacks_empty(); |
5960 verify_work_stacks_empty(); |
5963 |
5961 |
5964 // Update subklass/sibling/implementor links in KlassKlass descendants |
5962 // Update subklass/sibling/implementor links in KlassKlass descendants |