--- old/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-03-16 16:19:22.966352114 +0100 +++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-03-16 16:19:22.826346350 +0100 @@ -3108,7 +3108,7 @@ G1VerifyCodeRootOopClosure codeRootsCl(this, &rootsCl, vo); G1VerifyCodeRootBlobClosure blobsCl(&codeRootsCl); - G1RootProcessor root_processor(this, /* trace_metadata */ false); + G1RootProcessor root_processor(this, false /* trace_metadata */); root_processor.process_all_roots(&rootsCl, &cldCl, &blobsCl); --- old/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp 2015-03-16 16:19:23.754384554 +0100 +++ new/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp 2015-03-16 16:19:23.638379778 +0100 @@ -133,7 +133,7 @@ MarkingCodeBlobClosure follow_code_closure(&GenMarkSweep::follow_root_closure, !CodeBlobToOopClosure::FixRelocations); { - G1RootProcessor root_processor(g1h, true); + G1RootProcessor root_processor(g1h, true /* trace_metadata */); root_processor.process_strong_roots(&GenMarkSweep::follow_root_closure, &GenMarkSweep::follow_cld_closure, &follow_code_closure); @@ -245,7 +245,7 @@ CodeBlobToOopClosure adjust_code_closure(&GenMarkSweep::adjust_pointer_closure, CodeBlobToOopClosure::FixRelocations); { - G1RootProcessor root_processor(g1h, false); + G1RootProcessor root_processor(g1h, false /* trace_metadata */); root_processor.process_all_roots(&GenMarkSweep::adjust_pointer_closure, &GenMarkSweep::adjust_cld_closure, &adjust_code_closure); --- old/src/share/vm/memory/sharedHeap.hpp 2015-03-16 16:19:24.402411230 +0100 +++ new/src/share/vm/memory/sharedHeap.hpp 2015-03-16 16:19:24.298406948 +0100 @@ -61,18 +61,18 @@ // counts the number of tasks that have been done and then reset // the SubTasksDone so that it can be used again. When the number of // tasks is set to the number of GC workers, then _n_threads must -// be set to the number of active GC workers. G1CollectedHeap, -// HRInto_G1RemSet, GenCollectedHeap and SharedHeap have SubTasksDone. -// This seems too many. +// be set to the number of active GC workers. G1RootProcessor and +// GenCollectedHeap have SubTasksDone. // 3) SequentialSubTasksDone has an _n_threads that is used in // a way similar to SubTasksDone and has the same dependency on the // number of active GC workers. CompactibleFreeListSpace and Space // have SequentialSubTasksDone's. -// Example of using SubTasksDone and SequentialSubTasksDone -// G1CollectedHeap::g1_process_roots() -// to SharedHeap::process_roots() and uses -// SubTasksDone* _process_strong_tasks to claim tasks. -// process_roots() calls +// +// Examples of using SubTasksDone and SequentialSubTasksDone: +// G1RootProcessor and GenCollectedHeap::process_roots() use +// SubTasksDone* _process_strong_tasks to claim tasks for workers +// +// GenCollectedHeap::gen_process_roots() calls // rem_set()->younger_refs_iterate() // to scan the card table and which eventually calls down into // CardTableModRefBS::par_non_clean_card_iterate_work(). This method