src/hotspot/share/gc/g1/g1RootProcessor.cpp
changeset 55740 b3ff56f955c8
parent 54786 ebf733a324d4
child 58263 4fbc534fdf69
equal deleted inserted replaced
55739:ba2bd51ce67e 55740:b3ff56f955c8
    42 #include "memory/allocation.inline.hpp"
    42 #include "memory/allocation.inline.hpp"
    43 #include "memory/universe.hpp"
    43 #include "memory/universe.hpp"
    44 #include "runtime/mutex.hpp"
    44 #include "runtime/mutex.hpp"
    45 #include "services/management.hpp"
    45 #include "services/management.hpp"
    46 #include "utilities/macros.hpp"
    46 #include "utilities/macros.hpp"
    47 #if INCLUDE_JVMCI
       
    48 #include "jvmci/jvmci.hpp"
       
    49 #endif
       
    50 
    47 
    51 void G1RootProcessor::worker_has_discovered_all_strong_classes() {
    48 void G1RootProcessor::worker_has_discovered_all_strong_classes() {
    52   assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading");
    49   assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading");
    53 
    50 
    54   uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes);
    51   uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes);
   259         AOTLoader::oops_do(strong_roots);
   256         AOTLoader::oops_do(strong_roots);
   260     }
   257     }
   261   }
   258   }
   262 #endif
   259 #endif
   263 
   260 
   264 #if INCLUDE_JVMCI
       
   265   if (EnableJVMCI) {
       
   266     G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JVMCIRoots, worker_i);
       
   267     if (_process_strong_tasks.try_claim_task(G1RP_PS_JVMCI_oops_do)) {
       
   268       JVMCI::oops_do(strong_roots);
       
   269     }
       
   270   }
       
   271 #endif
       
   272 
       
   273   {
   261   {
   274     G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i);
   262     G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i);
   275     if (_process_strong_tasks.try_claim_task(G1RP_PS_SystemDictionary_oops_do)) {
   263     if (_process_strong_tasks.try_claim_task(G1RP_PS_SystemDictionary_oops_do)) {
   276       SystemDictionary::oops_do(strong_roots);
   264       SystemDictionary::oops_do(strong_roots);
   277     }
   265     }