--- old/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2016-09-20 11:01:58.521687061 +0200 +++ new/src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp 2016-09-20 11:01:58.381681595 +0200 @@ -2340,13 +2340,11 @@ { StrongRootsScope srs(1); - gch->gen_process_roots(&srs, - GenCollectedHeap::OldGen, + gch->old_process_roots(&srs, true, // young gen as roots GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, - NULL, NULL); } @@ -2414,13 +2412,11 @@ { StrongRootsScope srs(1); - gch->gen_process_roots(&srs, - GenCollectedHeap::OldGen, + gch->old_process_roots(&srs, true, // young gen as roots GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, - NULL, &cld_closure); } @@ -2903,13 +2899,11 @@ StrongRootsScope srs(1); - gch->gen_process_roots(&srs, - GenCollectedHeap::OldGen, + gch->old_process_roots(&srs, true, // young gen as roots GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, - NULL, &cld_closure); } } @@ -4290,13 +4284,11 @@ CLDToOopClosure cld_closure(&par_mri_cl, true); - gch->gen_process_roots(_strong_roots_scope, - GenCollectedHeap::OldGen, + gch->old_process_roots(_strong_roots_scope, false, // yg was scanned above GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mri_cl, - NULL, &cld_closure); assert(_collector->should_unload_classes() || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), @@ -4421,13 +4413,11 @@ // ---------- remaining roots -------------- _timer.reset(); _timer.start(); - gch->gen_process_roots(_strong_roots_scope, - GenCollectedHeap::OldGen, + gch->old_process_roots(_strong_roots_scope, false, // yg was scanned above GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mrias_cl, - NULL, NULL); // The dirty klasses will be handled below assert(_collector->should_unload_classes() @@ -4970,13 +4960,11 @@ gch->rem_set()->prepare_for_younger_refs_iterate(false); // Not parallel. StrongRootsScope srs(1); - gch->gen_process_roots(&srs, - GenCollectedHeap::OldGen, + gch->old_process_roots(&srs, true, // young gen as roots GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &mrias_cl, - NULL, NULL); // The dirty klasses will be handled below assert(should_unload_classes()