src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp
changeset 53536 482109fae02b
parent 53244 9807daeb47c4
child 53818 d85b3066ad22
equal deleted inserted replaced
53535:ce77e4d928f3 53536:482109fae02b
    46  public:
    46  public:
    47   enum GCParPhases {
    47   enum GCParPhases {
    48     GCWorkerStart,
    48     GCWorkerStart,
    49     ExtRootScan,
    49     ExtRootScan,
    50     ThreadRoots,
    50     ThreadRoots,
    51     StringTableRoots,
       
    52     UniverseRoots,
    51     UniverseRoots,
    53     JNIRoots,
    52     JNIRoots,
    54     ObjectSynchronizerRoots,
    53     ObjectSynchronizerRoots,
    55     ManagementRoots,
    54     ManagementRoots,
    56     SystemDictionaryRoots,
    55     SystemDictionaryRoots,
   102   };
   101   };
   103 
   102 
   104  private:
   103  private:
   105   // Markers for grouping the phases in the GCPhases enum above
   104   // Markers for grouping the phases in the GCPhases enum above
   106   static const int GCMainParPhasesLast = GCWorkerEnd;
   105   static const int GCMainParPhasesLast = GCWorkerEnd;
   107   static const int StringDedupPhasesFirst = StringDedupQueueFixup;
       
   108   static const int StringDedupPhasesLast = StringDedupTableFixup;
       
   109 
   106 
   110   WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
   107   WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
   111 
   108 
   112   WorkerDataArray<size_t>* _update_rs_processed_buffers;
   109   WorkerDataArray<size_t>* _update_rs_processed_buffers;
   113   WorkerDataArray<size_t>* _update_rs_scanned_cards;
   110   WorkerDataArray<size_t>* _update_rs_scanned_cards;
   132   double _cur_strong_code_root_purge_time_ms;
   129   double _cur_strong_code_root_purge_time_ms;
   133 
   130 
   134   double _cur_evac_fail_recalc_used;
   131   double _cur_evac_fail_recalc_used;
   135   double _cur_evac_fail_remove_self_forwards;
   132   double _cur_evac_fail_remove_self_forwards;
   136 
   133 
   137   double _cur_string_dedup_fixup_time_ms;
   134   double _cur_string_deduplication_time_ms;
   138 
   135 
   139   double _cur_prepare_tlab_time_ms;
   136   double _cur_prepare_tlab_time_ms;
   140   double _cur_resize_tlab_time_ms;
   137   double _cur_resize_tlab_time_ms;
   141 
   138 
   142   double _cur_derived_pointer_table_update_time_ms;
   139   double _cur_derived_pointer_table_update_time_ms;
   185 
   182 
   186   template <class T>
   183   template <class T>
   187   void details(T* phase, const char* indent) const;
   184   void details(T* phase, const char* indent) const;
   188 
   185 
   189   void log_phase(WorkerDataArray<double>* phase, uint indent, outputStream* out, bool print_sum) const;
   186   void log_phase(WorkerDataArray<double>* phase, uint indent, outputStream* out, bool print_sum) const;
   190   void debug_phase(WorkerDataArray<double>* phase) const;
   187   void debug_phase(WorkerDataArray<double>* phase, uint extra_indent = 0) const;
   191   void trace_phase(WorkerDataArray<double>* phase, bool print_sum = true) const;
   188   void trace_phase(WorkerDataArray<double>* phase, bool print_sum = true) const;
   192 
   189 
   193   void info_time(const char* name, double value) const;
   190   void info_time(const char* name, double value) const;
   194   void debug_time(const char* name, double value) const;
   191   void debug_time(const char* name, double value) const;
   195   // This will print logs for both 'gc+phases' and 'gc+phases+ref'.
   192   // This will print logs for both 'gc+phases' and 'gc+phases+ref'.
   270 
   267 
   271   void record_evac_fail_remove_self_forwards(double ms) {
   268   void record_evac_fail_remove_self_forwards(double ms) {
   272     _cur_evac_fail_remove_self_forwards = ms;
   269     _cur_evac_fail_remove_self_forwards = ms;
   273   }
   270   }
   274 
   271 
   275   void record_string_dedup_fixup_time(double ms) {
   272   void record_string_deduplication_time(double ms) {
   276     _cur_string_dedup_fixup_time_ms = ms;
   273     _cur_string_deduplication_time_ms = ms;
   277   }
   274   }
   278 
   275 
   279   void record_ref_proc_time(double ms) {
   276   void record_ref_proc_time(double ms) {
   280     _cur_ref_proc_time_ms = ms;
   277     _cur_ref_proc_time_ms = ms;
   281   }
   278   }