1.1 --- a/src/share/vm/memory/referenceProcessor.cpp Sat Jan 16 23:51:50 2010 -0800 1.2 +++ b/src/share/vm/memory/referenceProcessor.cpp Thu Jan 21 11:33:32 2010 -0800 1.3 @@ -1227,13 +1227,16 @@ 1.4 BoolObjectClosure* is_alive, 1.5 OopClosure* keep_alive, 1.6 VoidClosure* complete_gc, 1.7 - YieldClosure* yield) { 1.8 + YieldClosure* yield, 1.9 + bool should_unload_classes) { 1.10 1.11 NOT_PRODUCT(verify_ok_to_handle_reflists()); 1.12 1.13 #ifdef ASSERT 1.14 bool must_remember_klasses = ClassUnloading && !UseConcMarkSweepGC || 1.15 - CMSClassUnloadingEnabled && UseConcMarkSweepGC; 1.16 + CMSClassUnloadingEnabled && UseConcMarkSweepGC || 1.17 + ExplicitGCInvokesConcurrentAndUnloadsClasses && 1.18 + UseConcMarkSweepGC && should_unload_classes; 1.19 RememberKlassesChecker mx(must_remember_klasses); 1.20 #endif 1.21 // Soft references