src/share/vm/gc_implementation/g1/g1RootProcessor.cpp

changeset 8070
c0205eddb317
parent 7764
9b582718fbea
child 9358
6a4a6c499e89
     1.1 --- a/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp	Mon Sep 21 21:41:11 2015 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp	Wed Sep 30 14:50:11 2015 +0200
     1.3 @@ -117,7 +117,7 @@
     1.4  
     1.5  G1RootProcessor::G1RootProcessor(G1CollectedHeap* g1h) :
     1.6      _g1h(g1h),
     1.7 -    _process_strong_tasks(new SubTasksDone(G1RP_PS_NumElements)),
     1.8 +    _process_strong_tasks(G1RP_PS_NumElements),
     1.9      _srs(g1h),
    1.10      _lock(Mutex::leaf, "G1 Root Scanning barrier lock", false),
    1.11      _n_workers_discovered_strong_classes(0) {}
    1.12 @@ -160,7 +160,7 @@
    1.13    {
    1.14      // Now the CM ref_processor roots.
    1.15      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CMRefRoots, worker_i);
    1.16 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_refProcessor_oops_do)) {
    1.17 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_refProcessor_oops_do)) {
    1.18        // We need to treat the discovered reference lists of the
    1.19        // concurrent mark ref processor as roots and keep entries
    1.20        // (which are added by the marking threads) on them live
    1.21 @@ -203,12 +203,12 @@
    1.22    // as implicitly live).
    1.23    {
    1.24      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i);
    1.25 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->mark_in_progress()) {
    1.26 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->mark_in_progress()) {
    1.27        JavaThread::satb_mark_queue_set().filter_thread_buffers();
    1.28      }
    1.29    }
    1.30  
    1.31 -  _process_strong_tasks->all_tasks_completed();
    1.32 +  _process_strong_tasks.all_tasks_completed();
    1.33  }
    1.34  
    1.35  void G1RootProcessor::process_strong_roots(OopClosure* oops,
    1.36 @@ -218,7 +218,7 @@
    1.37    process_java_roots(oops, clds, clds, NULL, blobs, NULL, 0);
    1.38    process_vm_roots(oops, NULL, NULL, 0);
    1.39  
    1.40 -  _process_strong_tasks->all_tasks_completed();
    1.41 +  _process_strong_tasks.all_tasks_completed();
    1.42  }
    1.43  
    1.44  void G1RootProcessor::process_all_roots(OopClosure* oops,
    1.45 @@ -228,11 +228,11 @@
    1.46    process_java_roots(oops, NULL, clds, clds, NULL, NULL, 0);
    1.47    process_vm_roots(oops, oops, NULL, 0);
    1.48  
    1.49 -  if (!_process_strong_tasks->is_task_claimed(G1RP_PS_CodeCache_oops_do)) {
    1.50 +  if (!_process_strong_tasks.is_task_claimed(G1RP_PS_CodeCache_oops_do)) {
    1.51      CodeCache::blobs_do(blobs);
    1.52    }
    1.53  
    1.54 -  _process_strong_tasks->all_tasks_completed();
    1.55 +  _process_strong_tasks.all_tasks_completed();
    1.56  }
    1.57  
    1.58  void G1RootProcessor::process_java_roots(OopClosure* strong_roots,
    1.59 @@ -248,7 +248,7 @@
    1.60    // let the thread process the weak CLDs and nmethods.
    1.61    {
    1.62      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CLDGRoots, worker_i);
    1.63 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_ClassLoaderDataGraph_oops_do)) {
    1.64 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_ClassLoaderDataGraph_oops_do)) {
    1.65        ClassLoaderDataGraph::roots_cld_do(strong_clds, weak_clds);
    1.66      }
    1.67    }
    1.68 @@ -265,49 +265,49 @@
    1.69                                         uint worker_i) {
    1.70    {
    1.71      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::UniverseRoots, worker_i);
    1.72 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Universe_oops_do)) {
    1.73 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_Universe_oops_do)) {
    1.74        Universe::oops_do(strong_roots);
    1.75      }
    1.76    }
    1.77  
    1.78    {
    1.79      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JNIRoots, worker_i);
    1.80 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_JNIHandles_oops_do)) {
    1.81 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_JNIHandles_oops_do)) {
    1.82        JNIHandles::oops_do(strong_roots);
    1.83      }
    1.84    }
    1.85  
    1.86    {
    1.87      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ObjectSynchronizerRoots, worker_i);
    1.88 -    if (!_process_strong_tasks-> is_task_claimed(G1RP_PS_ObjectSynchronizer_oops_do)) {
    1.89 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_ObjectSynchronizer_oops_do)) {
    1.90        ObjectSynchronizer::oops_do(strong_roots);
    1.91      }
    1.92    }
    1.93  
    1.94    {
    1.95      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::FlatProfilerRoots, worker_i);
    1.96 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_FlatProfiler_oops_do)) {
    1.97 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_FlatProfiler_oops_do)) {
    1.98        FlatProfiler::oops_do(strong_roots);
    1.99      }
   1.100    }
   1.101  
   1.102    {
   1.103      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ManagementRoots, worker_i);
   1.104 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Management_oops_do)) {
   1.105 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_Management_oops_do)) {
   1.106        Management::oops_do(strong_roots);
   1.107      }
   1.108    }
   1.109  
   1.110    {
   1.111      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JVMTIRoots, worker_i);
   1.112 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_jvmti_oops_do)) {
   1.113 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_jvmti_oops_do)) {
   1.114        JvmtiExport::oops_do(strong_roots);
   1.115      }
   1.116    }
   1.117  
   1.118    {
   1.119      G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i);
   1.120 -    if (!_process_strong_tasks->is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) {
   1.121 +    if (!_process_strong_tasks.is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) {
   1.122        SystemDictionary::roots_oops_do(strong_roots, weak_roots);
   1.123      }
   1.124    }
   1.125 @@ -335,5 +335,5 @@
   1.126  }
   1.127  
   1.128  void G1RootProcessor::set_num_workers(int active_workers) {
   1.129 -  _process_strong_tasks->set_n_threads(active_workers);
   1.130 +  _process_strong_tasks.set_n_threads(active_workers);
   1.131  }

mercurial