Mercurial > hg > truffle
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++) { |