comparison src/share/vm/memory/referenceProcessor.cpp @ 935:05f89f00a864

6798898: CMS: bugs related to class unloading Summary: Override should_remember_klasses() and remember_klass() as needed. Reviewed-by: ysr, jcoomes
author jmasa
date Mon, 24 Aug 2009 10:36:31 -0700
parents df6caf649ff7
children 167c2986d91b 4ce7240d622c
comparison
equal deleted inserted replaced
912:308762b2bf14 935:05f89f00a864
1229 VoidClosure* complete_gc, 1229 VoidClosure* complete_gc,
1230 YieldClosure* yield) { 1230 YieldClosure* yield) {
1231 1231
1232 NOT_PRODUCT(verify_ok_to_handle_reflists()); 1232 NOT_PRODUCT(verify_ok_to_handle_reflists());
1233 1233
1234 #ifdef ASSERT
1235 bool must_remember_klasses = ClassUnloading && !UseConcMarkSweepGC ||
1236 CMSClassUnloadingEnabled && UseConcMarkSweepGC;
1237 RememberKlassesChecker mx(must_remember_klasses);
1238 #endif
1234 // Soft references 1239 // Soft references
1235 { 1240 {
1236 TraceTime tt("Preclean SoftReferences", PrintGCDetails && PrintReferenceGC, 1241 TraceTime tt("Preclean SoftReferences", PrintGCDetails && PrintReferenceGC,
1237 false, gclog_or_tty); 1242 false, gclog_or_tty);
1238 for (int i = 0; i < _num_q; i++) { 1243 for (int i = 0; i < _num_q; i++) {