6798898: CMS: bugs related to class unloading

Override should_remember_klasses() and remember_klass() as needed.

Reviewed-by: ysr, jcoomes
This commit is contained in:
Jon Masamitsu 2009-08-24 10:36:31 -07:00
parent ead860c069
commit 20a43bad21
8 changed files with 238 additions and 105 deletions

View file

@ -1231,6 +1231,11 @@ void ReferenceProcessor::preclean_discovered_references(
NOT_PRODUCT(verify_ok_to_handle_reflists());
#ifdef ASSERT
bool must_remember_klasses = ClassUnloading && !UseConcMarkSweepGC ||
CMSClassUnloadingEnabled && UseConcMarkSweepGC;
RememberKlassesChecker mx(must_remember_klasses);
#endif
// Soft references
{
TraceTime tt("Preclean SoftReferences", PrintGCDetails && PrintReferenceGC,