diff -r 0bda2308eded -r ad45b3802d4e src/hotspot/share/gc/g1/g1RootProcessor.cpp --- a/src/hotspot/share/gc/g1/g1RootProcessor.cpp Wed May 01 12:41:26 2019 -0400 +++ b/src/hotspot/share/gc/g1/g1RootProcessor.cpp Wed May 01 12:31:29 2019 -0700 @@ -43,6 +43,9 @@ #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"); @@ -267,6 +270,15 @@ } #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)) {