diff -r 36d1d483d5d6 -r da91efe96a93 src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Sat Sep 01 13:25:18 2012 -0400 @@ -78,7 +78,13 @@ break; case system_dictionary: + { SystemDictionary::oops_do(&roots_closure); + + // Move this to another root_type? + PSScavengeKlassClosure klass_closure(pm); + ClassLoaderDataGraph::oops_do(&roots_closure, &klass_closure, false); + } break; case management: