< prev index next >

src/hotspot/share/gc/g1/g1RootProcessor.cpp

Print this page

        

*** 42,51 **** --- 42,54 ---- #include "memory/allocation.inline.hpp" #include "memory/universe.hpp" #include "runtime/mutex.hpp" #include "services/management.hpp" #include "utilities/macros.hpp" + #if INCLUDE_JVMCI + #include "jvmci/jvmci.hpp" + #endif void G1RootProcessor::worker_has_discovered_all_strong_classes() { assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading"); uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes);
*** 256,265 **** --- 259,277 ---- AOTLoader::oops_do(strong_roots); } } #endif + #if INCLUDE_JVMCI + if (EnableJVMCI) { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JVMCIRoots, worker_i); + if (_process_strong_tasks.try_claim_task(G1RP_PS_JVMCI_oops_do)) { + JVMCI::oops_do(strong_roots); + } + } + #endif + { G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i); if (_process_strong_tasks.try_claim_task(G1RP_PS_SystemDictionary_oops_do)) { SystemDictionary::oops_do(strong_roots); }
< prev index next >