hotspot/src/share/vm/gc/g1/g1GCPhaseTimes.hpp
changeset 37214 bc4e0e0995e6
parent 36374 613f27cc37b9
child 39979 b17e445924da
equal deleted inserted replaced
37211:7d1ff3cd84e9 37214:bc4e0e0995e6
    30 class LineBuffer;
    30 class LineBuffer;
    31 
    31 
    32 template <class T> class WorkerDataArray;
    32 template <class T> class WorkerDataArray;
    33 
    33 
    34 class G1GCPhaseTimes : public CHeapObj<mtGC> {
    34 class G1GCPhaseTimes : public CHeapObj<mtGC> {
    35   uint _active_gc_threads;
       
    36   uint _max_gc_threads;
    35   uint _max_gc_threads;
    37   jlong _gc_start_counter;
    36   jlong _gc_start_counter;
    38   double _gc_pause_time_ms;
    37   double _gc_pause_time_ms;
    39 
    38 
    40  public:
    39  public:
   121   size_t _cur_fast_reclaim_humongous_reclaimed;
   120   size_t _cur_fast_reclaim_humongous_reclaimed;
   122 
   121 
   123   double _cur_verify_before_time_ms;
   122   double _cur_verify_before_time_ms;
   124   double _cur_verify_after_time_ms;
   123   double _cur_verify_after_time_ms;
   125 
   124 
       
   125   double worker_time(GCParPhases phase, uint worker);
   126   void note_gc_end();
   126   void note_gc_end();
   127 
   127 
   128   template <class T>
   128   template <class T>
   129   void details(T* phase, const char* indent);
   129   void details(T* phase, const char* indent);
   130   void log_phase(WorkerDataArray<double>* phase, uint indent, outputStream* out, bool print_sum);
   130   void log_phase(WorkerDataArray<double>* phase, uint indent, outputStream* out, bool print_sum);
   131   void debug_phase(WorkerDataArray<double>* phase);
   131   void debug_phase(WorkerDataArray<double>* phase);
   132   void trace_phase(WorkerDataArray<double>* phase, bool print_sum = true);
   132   void trace_phase(WorkerDataArray<double>* phase, bool print_sum = true);
   133 
   133 
   134  public:
   134  public:
   135   G1GCPhaseTimes(uint max_gc_threads);
   135   G1GCPhaseTimes(uint max_gc_threads);
   136   void note_gc_start(uint active_gc_threads);
   136   void note_gc_start();
   137   void print();
   137   void print();
   138 
   138 
   139   // record the time a phase took in seconds
   139   // record the time a phase took in seconds
   140   void record_time_secs(GCParPhases phase, uint worker_i, double secs);
   140   void record_time_secs(GCParPhases phase, uint worker_i, double secs);
   141 
   141