25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
26 #define SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
27
28 #include "jfr/jfrEvents.hpp"
29 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
30 #include "memory/allocation.hpp"
31
32 class ShenandoahWorkerTimingsTracker : public StackObj {
33 private:
34 double _start_time;
35 ShenandoahPhaseTimings::GCParPhases _phase;
36 ShenandoahWorkerTimings* _worker_times;
37 uint _worker_id;
38
39 EventGCPhaseParallel _event;
40 public:
41 ShenandoahWorkerTimingsTracker(ShenandoahWorkerTimings* worker_times, ShenandoahPhaseTimings::GCParPhases phase, uint worker_id);
42 ~ShenandoahWorkerTimingsTracker();
43 };
44
45
46 class ShenandoahTerminationTimingsTracker : public StackObj {
47 private:
48 double _start_time;
49 uint _worker_id;
50
51 public:
52 ShenandoahTerminationTimingsTracker(uint worker_id);
53 ~ShenandoahTerminationTimingsTracker();
54 };
55
56 // Tracking termination time in specific GC phase
57 class ShenandoahTerminationTracker : public StackObj {
58 private:
59 ShenandoahPhaseTimings::Phase _phase;
60
61 static ShenandoahPhaseTimings::Phase _current_termination_phase;
62 public:
63 ShenandoahTerminationTracker(ShenandoahPhaseTimings::Phase phase);
64 ~ShenandoahTerminationTracker();
65
66 static ShenandoahPhaseTimings::Phase current_termination_phase() { return _current_termination_phase; }
67 };
68
69 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
|
25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
26 #define SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
27
28 #include "jfr/jfrEvents.hpp"
29 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
30 #include "memory/allocation.hpp"
31
32 class ShenandoahWorkerTimingsTracker : public StackObj {
33 private:
34 double _start_time;
35 ShenandoahPhaseTimings::GCParPhases _phase;
36 ShenandoahWorkerTimings* _worker_times;
37 uint _worker_id;
38
39 EventGCPhaseParallel _event;
40 public:
41 ShenandoahWorkerTimingsTracker(ShenandoahWorkerTimings* worker_times, ShenandoahPhaseTimings::GCParPhases phase, uint worker_id);
42 ~ShenandoahWorkerTimingsTracker();
43 };
44
45 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTIMINGTRACKER_HPP
|