< prev index next >

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

Print this page

 23  */
 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/shenandoah/shenandoahPhaseTimings.hpp"
 34 #include "gc/shenandoah/shenandoahThreadLocalData.hpp"
 35 #include "jfr/jfrEvents.hpp"
 36 #include "memory/allocation.hpp"
 37 #include "runtime/safepoint.hpp"
 38 #include "runtime/vmThread.hpp"
 39 #include "runtime/vmOperations.hpp"
 40 #include "services/memoryService.hpp"
 41 
 42 class GCTimer;

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

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

 23  */
 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/shenandoah/shenandoahPhaseTimings.hpp"
 34 #include "gc/shenandoah/shenandoahThreadLocalData.hpp"
 35 #include "jfr/jfrEvents.hpp"
 36 #include "memory/allocation.hpp"
 37 #include "runtime/safepoint.hpp"
 38 #include "runtime/vmThread.hpp"
 39 #include "runtime/vmOperations.hpp"
 40 #include "services/memoryService.hpp"
 41 
 42 class GCTimer;
 43 class ShenandoahGeneration;
 44 
 45 class ShenandoahGCSession : public StackObj {
 46 private:
 47   ShenandoahHeap* const _heap;
 48   ShenandoahGeneration* const _generation;
 49   GCTimer*  const _timer;
 50   GCTracer* const _tracer;
 51 
 52   TraceMemoryManagerStats _trace_cycle;
 53 public:
 54   ShenandoahGCSession(GCCause::Cause cause, ShenandoahGeneration* generation);
 55   ~ShenandoahGCSession();
 56 };
 57 
 58 /*
 59  * ShenandoahGCPhaseTiming tracks Shenandoah specific timing information
 60  * of a GC phase
 61  */
 62 class ShenandoahTimingsTracker : public StackObj {
 63 private:
 64   static ShenandoahPhaseTimings::Phase  _current_phase;
 65 
 66   ShenandoahPhaseTimings* const         _timings;
 67   const ShenandoahPhaseTimings::Phase   _phase;
 68   ShenandoahPhaseTimings::Phase         _parent_phase;
 69   double _start;
 70 
 71 public:
 72   ShenandoahTimingsTracker(ShenandoahPhaseTimings::Phase phase);
 73   ~ShenandoahTimingsTracker();
 74 
< prev index next >