< prev index next >
src/hotspot/share/gc/g1/g1RootProcessor.cpp
Print this page
rev 59957 : imported patch 8247819-stefank-review
@@ -38,10 +38,11 @@
#include "gc/g1/g1RootClosures.hpp"
#include "gc/g1/g1RootProcessor.hpp"
#include "gc/g1/heapRegion.inline.hpp"
#include "gc/shared/oopStorage.inline.hpp"
#include "gc/shared/oopStorageSet.hpp"
+#include "gc/shared/oopStorageSetParState.inline.hpp"
#include "gc/shared/referenceProcessor.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/universe.hpp"
#include "runtime/mutex.hpp"
#include "services/management.hpp"
@@ -187,17 +188,10 @@
Universe::oops_do(strong_roots);
}
}
{
- G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JNIRoots, worker_id);
- if (_process_strong_tasks.try_claim_task(G1RP_PS_JNIHandles_oops_do)) {
- JNIHandles::oops_do(strong_roots);
- }
- }
-
- {
G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ObjectSynchronizerRoots, worker_id);
if (_process_strong_tasks.try_claim_task(G1RP_PS_ObjectSynchronizer_oops_do)) {
ObjectSynchronizer::oops_do(strong_roots);
}
}
@@ -223,15 +217,14 @@
AOTLoader::oops_do(strong_roots);
}
}
#endif
- {
- G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::VMGlobalRoots, worker_id);
- if (_process_strong_tasks.try_claim_task(G1RP_PS_VMGlobal_oops_do)) {
- OopStorageSet::vm_global()->oops_do(strong_roots);
- }
+ for (int i = 0; i < _oop_storage_set_strong_par_state.par_state_count(); ++i) {
+ G1GCPhaseTimes::GCParPhases phase = G1GCPhaseTimes::GCParPhases(G1GCPhaseTimes::StrongOopStorageSetRoots + i);
+ G1GCParPhaseTimesTracker x(phase_times, phase, worker_id);
+ _oop_storage_set_strong_par_state.par_state(i)->oops_do(closures->strong_oops());
}
}
void G1RootProcessor::process_code_cache_roots(CodeBlobClosure* code_closure,
G1GCPhaseTimes* phase_times,
< prev index next >