< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp

Print this page

 24 
 25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
 26 #define SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
 27 
 28 #include "gc/shared/gcCause.hpp"
 29 #include "gc/shared/gcTraceTime.inline.hpp"
 30 #include "gc/shared/gcVMOperations.hpp"
 31 #include "gc/shared/isGCActiveMark.hpp"
 32 #include "gc/shared/suspendibleThreadSet.hpp"
 33 #include "gc/shared/workerThread.hpp"
 34 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
 35 #include "gc/shenandoah/shenandoahThreadLocalData.hpp"
 36 #include "jfr/jfrEvents.hpp"
 37 #include "memory/allocation.hpp"
 38 #include "runtime/safepoint.hpp"
 39 #include "runtime/vmThread.hpp"
 40 #include "runtime/vmOperations.hpp"
 41 #include "services/memoryService.hpp"
 42 
 43 class GCTimer;

 44 
 45 class ShenandoahGCSession : public StackObj {
 46 private:
 47   ShenandoahHeap* const _heap;

 48   GCTimer*  const _timer;
 49   GCTracer* const _tracer;
 50 
 51   TraceMemoryManagerStats _trace_cycle;
 52 public:
 53   ShenandoahGCSession(GCCause::Cause cause);
 54   ~ShenandoahGCSession();
 55 };
 56 
 57 /*
 58  * ShenandoahGCPhaseTiming tracks Shenandoah specific timing information
 59  * of a GC phase
 60  */
 61 class ShenandoahTimingsTracker : public StackObj {
 62 private:
 63   static ShenandoahPhaseTimings::Phase  _current_phase;
 64 
 65   ShenandoahPhaseTimings* const         _timings;
 66   const ShenandoahPhaseTimings::Phase   _phase;
 67   ShenandoahPhaseTimings::Phase         _parent_phase;
 68   double _start;
 69 
 70 public:
 71   ShenandoahTimingsTracker(ShenandoahPhaseTimings::Phase phase);
 72   ~ShenandoahTimingsTracker();
 73 

 24 
 25 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
 26 #define SHARE_GC_SHENANDOAH_SHENANDOAHUTILS_HPP
 27 
 28 #include "gc/shared/gcCause.hpp"
 29 #include "gc/shared/gcTraceTime.inline.hpp"
 30 #include "gc/shared/gcVMOperations.hpp"
 31 #include "gc/shared/isGCActiveMark.hpp"
 32 #include "gc/shared/suspendibleThreadSet.hpp"
 33 #include "gc/shared/workerThread.hpp"
 34 #include "gc/shenandoah/shenandoahPhaseTimings.hpp"
 35 #include "gc/shenandoah/shenandoahThreadLocalData.hpp"
 36 #include "jfr/jfrEvents.hpp"
 37 #include "memory/allocation.hpp"
 38 #include "runtime/safepoint.hpp"
 39 #include "runtime/vmThread.hpp"
 40 #include "runtime/vmOperations.hpp"
 41 #include "services/memoryService.hpp"
 42 
 43 class GCTimer;
 44 class ShenandoahGeneration;
 45 
 46 class ShenandoahGCSession : public StackObj {
 47 private:
 48   ShenandoahHeap* const _heap;
 49   ShenandoahGeneration* const _generation;
 50   GCTimer*  const _timer;
 51   GCTracer* const _tracer;
 52 
 53   TraceMemoryManagerStats _trace_cycle;
 54 public:
 55   ShenandoahGCSession(GCCause::Cause cause, ShenandoahGeneration* generation);
 56   ~ShenandoahGCSession();
 57 };
 58 
 59 /*
 60  * ShenandoahGCPhaseTiming tracks Shenandoah specific timing information
 61  * of a GC phase
 62  */
 63 class ShenandoahTimingsTracker : public StackObj {
 64 private:
 65   static ShenandoahPhaseTimings::Phase  _current_phase;
 66 
 67   ShenandoahPhaseTimings* const         _timings;
 68   const ShenandoahPhaseTimings::Phase   _phase;
 69   ShenandoahPhaseTimings::Phase         _parent_phase;
 70   double _start;
 71 
 72 public:
 73   ShenandoahTimingsTracker(ShenandoahPhaseTimings::Phase phase);
 74   ~ShenandoahTimingsTracker();
 75 
< prev index next >