< prev index next >

src/hotspot/share/gc/shared/weakProcessorPhaseTimes.hpp

Print this page
rev 57242 : imported patch 8235341-workerdataarray-cleanup


  39     TotalItems
  40   };
  41   uint _max_threads;
  42   uint _active_workers;
  43 
  44   // Total time for weak processor.
  45   double _total_time_sec;
  46 
  47   // Total time and associated items for each serially processed phase.
  48   static const uint phase_data_count = WeakProcessorPhases::serial_phase_count;
  49   // +1 because serial_phase_count == 0 in some build configurations.
  50   // Simpler to always allocate extra space than conditionalize.
  51   double _phase_times_sec[phase_data_count + 1];
  52   size_t _phase_dead_items[phase_data_count + 1];
  53   size_t _phase_total_items[phase_data_count + 1];
  54   void reset_phase_data();
  55 
  56   // Per-worker times and linked items.
  57   static const uint worker_data_count = WeakProcessorPhases::oopstorage_phase_count;
  58   WorkerDataArray<double>* _worker_data[worker_data_count];
  59   WorkerDataArray<size_t>* _worker_dead_items[worker_data_count];
  60   WorkerDataArray<size_t>* _worker_total_items[worker_data_count];
  61 
  62   WorkerDataArray<double>* worker_data(WeakProcessorPhase phase) const;
  63 
  64   void log_st_phase(WeakProcessorPhase phase, uint indent) const;
  65   void log_mt_phase_summary(WeakProcessorPhase phase, uint indent) const;
  66   template <typename T>
  67   void log_mt_phase_details(WorkerDataArray<T>* data, uint indent) const;
  68 
  69 public:
  70   WeakProcessorPhaseTimes(uint max_threads);
  71   ~WeakProcessorPhaseTimes();
  72 
  73   uint max_threads() const;
  74   uint active_workers() const;
  75   void set_active_workers(uint n);
  76 
  77   double total_time_sec() const;
  78   double phase_time_sec(WeakProcessorPhase phase) const;
  79   double worker_time_sec(uint worker_id, WeakProcessorPhase phase) const;
  80 




  39     TotalItems
  40   };
  41   uint _max_threads;
  42   uint _active_workers;
  43 
  44   // Total time for weak processor.
  45   double _total_time_sec;
  46 
  47   // Total time and associated items for each serially processed phase.
  48   static const uint phase_data_count = WeakProcessorPhases::serial_phase_count;
  49   // +1 because serial_phase_count == 0 in some build configurations.
  50   // Simpler to always allocate extra space than conditionalize.
  51   double _phase_times_sec[phase_data_count + 1];
  52   size_t _phase_dead_items[phase_data_count + 1];
  53   size_t _phase_total_items[phase_data_count + 1];
  54   void reset_phase_data();
  55 
  56   // Per-worker times and linked items.
  57   static const uint worker_data_count = WeakProcessorPhases::oopstorage_phase_count;
  58   WorkerDataArray<double>* _worker_data[worker_data_count];


  59 
  60   WorkerDataArray<double>* worker_data(WeakProcessorPhase phase) const;
  61 
  62   void log_st_phase(WeakProcessorPhase phase, uint indent) const;
  63   void log_mt_phase_summary(WeakProcessorPhase phase, uint indent) const;
  64   template <typename T>
  65   void log_mt_phase_details(WorkerDataArray<T>* data, uint indent) const;
  66 
  67 public:
  68   WeakProcessorPhaseTimes(uint max_threads);
  69   ~WeakProcessorPhaseTimes();
  70 
  71   uint max_threads() const;
  72   uint active_workers() const;
  73   void set_active_workers(uint n);
  74 
  75   double total_time_sec() const;
  76   double phase_time_sec(WeakProcessorPhase phase) const;
  77   double worker_time_sec(uint worker_id, WeakProcessorPhase phase) const;
  78 


< prev index next >