--- old/src/share/vm/gc/g1/g1RootProcessor.cpp 2016-10-31 17:46:45.000000000 -0700 +++ new/src/share/vm/gc/g1/g1RootProcessor.cpp 2016-10-31 17:46:45.000000000 -0700 @@ -37,6 +37,7 @@ #include "gc/g1/g1RootProcessor.hpp" #include "gc/g1/heapRegion.inline.hpp" #include "memory/allocation.inline.hpp" +#include "aot/aotLoader.hpp" #include "runtime/fprofiler.hpp" #include "runtime/mutex.hpp" #include "services/management.hpp" @@ -290,6 +291,15 @@ } } +#if INCLUDE_AOT + if (UseAOT) { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::AOTCodeRoots, worker_i); + if (!_process_strong_tasks.is_task_claimed(G1RP_PS_aot_oops_do)) { + AOTLoader::oops_do(strong_roots); + } + } +#endif + { G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i); if (!_process_strong_tasks.is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) {