< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp
Print this page
@@ -29,10 +29,11 @@
#include "gc/shenandoah/shenandoahCodeRoots.hpp"
#include "gc/shenandoah/shenandoahHeap.hpp"
#include "gc/shenandoah/shenandoahPhaseTimings.hpp"
#include "gc/shared/strongRootsScope.hpp"
#include "gc/shared/weakProcessor.hpp"
+#include "gc/shared/weakProcessorPhaseTimes.hpp"
#include "gc/shared/workgroup.hpp"
#include "memory/allocation.hpp"
#include "memory/iterator.hpp"
class ParallelCLDRootIterator {
@@ -58,11 +59,13 @@
OopStorage::ParState<false, false> _par_state_string;
ShenandoahPhaseTimings::Phase _phase;
ParallelCLDRootIterator _cld_iterator;
ShenandoahAllCodeRootsIterator _coderoots_all_iterator;
CodeBlobClosure* _threads_nmethods_cl;
+ WeakProcessorPhaseTimes _weak_processor_timings;
WeakProcessor::Task _weak_processor_task;
+ bool _processed_weak_roots;
void process_java_roots(OopClosure* scan_non_heap_roots,
CLDClosure* scan_strong_clds,
CLDClosure* scan_weak_clds,
CodeBlobClosure* scan_strong_code,
@@ -72,10 +75,14 @@
void process_vm_roots(OopClosure* scan_non_heap_roots,
OopClosure* scan_non_heap_weak_roots,
OopClosure* weak_jni_roots,
uint worker_i);
+ void weak_processor_timing_to_shenandoah_timing(const WeakProcessorPhases::Phase wpp,
+ const ShenandoahPhaseTimings::GCParPhases spp,
+ ShenandoahWorkerTimings* worker_times) const;
+
public:
ShenandoahRootProcessor(ShenandoahHeap* heap, uint n_workers,
ShenandoahPhaseTimings::Phase phase);
~ShenandoahRootProcessor();
< prev index next >