Tue, 06 Oct 2015 11:01:56 -0700
Merge
.hgtags | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Mon Sep 28 15:25:05 2015 -0700 1.2 +++ b/.hgtags Tue Oct 06 11:01:56 2015 -0700 1.3 @@ -755,3 +755,4 @@ 1.4 5b67af3317bce1f940c5dc1535411a1002bed6c1 jdk8u66-b15 1.5 4bbf0e9196f2786e0bc4f17664e2533808d944bf jdk8u66-b16 1.6 b8f426369187c32551f0a3d571d933908988c81c jdk8u72-b00 1.7 +c0205eddb31766ece562483595ec28a7506971e9 jdk8u72-b01
2.1 --- a/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp Mon Sep 28 15:25:05 2015 -0700 2.2 +++ b/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp Tue Oct 06 11:01:56 2015 -0700 2.3 @@ -117,7 +117,7 @@ 2.4 2.5 G1RootProcessor::G1RootProcessor(G1CollectedHeap* g1h) : 2.6 _g1h(g1h), 2.7 - _process_strong_tasks(new SubTasksDone(G1RP_PS_NumElements)), 2.8 + _process_strong_tasks(G1RP_PS_NumElements), 2.9 _srs(g1h), 2.10 _lock(Mutex::leaf, "G1 Root Scanning barrier lock", false), 2.11 _n_workers_discovered_strong_classes(0) {} 2.12 @@ -160,7 +160,7 @@ 2.13 { 2.14 // Now the CM ref_processor roots. 2.15 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CMRefRoots, worker_i); 2.16 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_refProcessor_oops_do)) { 2.17 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_refProcessor_oops_do)) { 2.18 // We need to treat the discovered reference lists of the 2.19 // concurrent mark ref processor as roots and keep entries 2.20 // (which are added by the marking threads) on them live 2.21 @@ -203,12 +203,12 @@ 2.22 // as implicitly live). 2.23 { 2.24 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i); 2.25 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->mark_in_progress()) { 2.26 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->mark_in_progress()) { 2.27 JavaThread::satb_mark_queue_set().filter_thread_buffers(); 2.28 } 2.29 } 2.30 2.31 - _process_strong_tasks->all_tasks_completed(); 2.32 + _process_strong_tasks.all_tasks_completed(); 2.33 } 2.34 2.35 void G1RootProcessor::process_strong_roots(OopClosure* oops, 2.36 @@ -218,7 +218,7 @@ 2.37 process_java_roots(oops, clds, clds, NULL, blobs, NULL, 0); 2.38 process_vm_roots(oops, NULL, NULL, 0); 2.39 2.40 - _process_strong_tasks->all_tasks_completed(); 2.41 + _process_strong_tasks.all_tasks_completed(); 2.42 } 2.43 2.44 void G1RootProcessor::process_all_roots(OopClosure* oops, 2.45 @@ -228,11 +228,11 @@ 2.46 process_java_roots(oops, NULL, clds, clds, NULL, NULL, 0); 2.47 process_vm_roots(oops, oops, NULL, 0); 2.48 2.49 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_CodeCache_oops_do)) { 2.50 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_CodeCache_oops_do)) { 2.51 CodeCache::blobs_do(blobs); 2.52 } 2.53 2.54 - _process_strong_tasks->all_tasks_completed(); 2.55 + _process_strong_tasks.all_tasks_completed(); 2.56 } 2.57 2.58 void G1RootProcessor::process_java_roots(OopClosure* strong_roots, 2.59 @@ -248,7 +248,7 @@ 2.60 // let the thread process the weak CLDs and nmethods. 2.61 { 2.62 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CLDGRoots, worker_i); 2.63 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_ClassLoaderDataGraph_oops_do)) { 2.64 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_ClassLoaderDataGraph_oops_do)) { 2.65 ClassLoaderDataGraph::roots_cld_do(strong_clds, weak_clds); 2.66 } 2.67 } 2.68 @@ -265,49 +265,49 @@ 2.69 uint worker_i) { 2.70 { 2.71 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::UniverseRoots, worker_i); 2.72 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Universe_oops_do)) { 2.73 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_Universe_oops_do)) { 2.74 Universe::oops_do(strong_roots); 2.75 } 2.76 } 2.77 2.78 { 2.79 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JNIRoots, worker_i); 2.80 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_JNIHandles_oops_do)) { 2.81 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_JNIHandles_oops_do)) { 2.82 JNIHandles::oops_do(strong_roots); 2.83 } 2.84 } 2.85 2.86 { 2.87 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ObjectSynchronizerRoots, worker_i); 2.88 - if (!_process_strong_tasks-> is_task_claimed(G1RP_PS_ObjectSynchronizer_oops_do)) { 2.89 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_ObjectSynchronizer_oops_do)) { 2.90 ObjectSynchronizer::oops_do(strong_roots); 2.91 } 2.92 } 2.93 2.94 { 2.95 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::FlatProfilerRoots, worker_i); 2.96 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_FlatProfiler_oops_do)) { 2.97 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_FlatProfiler_oops_do)) { 2.98 FlatProfiler::oops_do(strong_roots); 2.99 } 2.100 } 2.101 2.102 { 2.103 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ManagementRoots, worker_i); 2.104 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Management_oops_do)) { 2.105 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_Management_oops_do)) { 2.106 Management::oops_do(strong_roots); 2.107 } 2.108 } 2.109 2.110 { 2.111 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JVMTIRoots, worker_i); 2.112 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_jvmti_oops_do)) { 2.113 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_jvmti_oops_do)) { 2.114 JvmtiExport::oops_do(strong_roots); 2.115 } 2.116 } 2.117 2.118 { 2.119 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i); 2.120 - if (!_process_strong_tasks->is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) { 2.121 + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) { 2.122 SystemDictionary::roots_oops_do(strong_roots, weak_roots); 2.123 } 2.124 } 2.125 @@ -335,5 +335,5 @@ 2.126 } 2.127 2.128 void G1RootProcessor::set_num_workers(int active_workers) { 2.129 - _process_strong_tasks->set_n_threads(active_workers); 2.130 + _process_strong_tasks.set_n_threads(active_workers); 2.131 }
3.1 --- a/src/share/vm/gc_implementation/g1/g1RootProcessor.hpp Mon Sep 28 15:25:05 2015 -0700 3.2 +++ b/src/share/vm/gc_implementation/g1/g1RootProcessor.hpp Tue Oct 06 11:01:56 2015 -0700 3.3 @@ -45,7 +45,7 @@ 3.4 // worker thread call the process_roots methods. 3.5 class G1RootProcessor : public StackObj { 3.6 G1CollectedHeap* _g1h; 3.7 - SubTasksDone* _process_strong_tasks; 3.8 + SubTasksDone _process_strong_tasks; 3.9 SharedHeap::StrongRootsScope _srs; 3.10 3.11 // Used to implement the Thread work barrier.