--- old/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp 2015-03-18 09:47:45.063106649 +0100 +++ new/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp 2015-03-18 09:47:44.971102888 +0100 @@ -113,18 +113,18 @@ } } -G1RootProcessor::G1RootProcessor(G1CollectedHeap* g1h, bool trace_metadata) : +G1RootProcessor::G1RootProcessor(G1CollectedHeap* g1h) : _g1h(g1h), _process_strong_tasks(new SubTasksDone(G1RP_PS_NumElements)), _srs(g1h), _lock(Mutex::leaf, "G1 Root Scanning barrier lock", false, Monitor::_safepoint_check_never), - _n_workers_discovered_strong_classes(0), - _trace_metadata(trace_metadata) {} + _n_workers_discovered_strong_classes(0) {} void G1RootProcessor::evacuate_roots(OopClosure* scan_non_heap_roots, OopClosure* scan_non_heap_weak_roots, CLDClosure* scan_strong_clds, CLDClosure* scan_weak_clds, + bool trace_metadata, uint worker_i) { // First scan the shared roots. double ext_roots_start = os::elapsedTime(); @@ -139,14 +139,14 @@ G1CodeBlobClosure root_code_blobs(scan_non_heap_roots); process_java_roots(strong_roots, - _trace_metadata ? scan_strong_clds : NULL, + trace_metadata ? scan_strong_clds : NULL, scan_strong_clds, - _trace_metadata ? NULL : scan_weak_clds, + trace_metadata ? NULL : scan_weak_clds, &root_code_blobs); // This is the point where this worker thread will not find more strong CLDs/nmethods. // Report this so G1 can synchronize the strong and weak CLDs/nmethods processing. - if (_trace_metadata) { + if (trace_metadata) { worker_has_discovered_all_strong_classes(); } @@ -161,7 +161,7 @@ _g1h->ref_processor_cm()->weak_oops_do(&buf_scan_non_heap_roots); } - if (_trace_metadata) { + if (trace_metadata) { // Barrier to make sure all workers passed // the strong CLD and strong nmethods phases. wait_until_all_strong_classes_discovered();