src/share/vm/memory/referenceProcessor.cpp

changeset 1625
4788266644c1
parent 1579
9b9c1ee9b3f6
child 1907
c18cbe5936b8
     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

mercurial