< prev index next >

src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp

Print this page




  59     CMRefRoots,
  60     MergeER,
  61     MergeRS,
  62     OptMergeRS,
  63     MergeLB,
  64     MergeHCC,
  65     ScanHR,
  66     OptScanHR,
  67     CodeRoots,
  68     OptCodeRoots,
  69     ObjCopy,
  70     OptObjCopy,
  71     Termination,
  72     OptTermination,
  73     Other,
  74     GCWorkerTotal,
  75     GCWorkerEnd,
  76     StringDedupQueueFixup,
  77     StringDedupTableFixup,
  78     RedirtyCards,

  79     YoungFreeCSet,
  80     NonYoungFreeCSet,

  81     MergePSS,
  82     GCParPhasesSentinel
  83   };
  84 
  85   static const GCParPhases ExtRootScanSubPhasesFirst = ThreadRoots;
  86   static const GCParPhases ExtRootScanSubPhasesLast = CMRefRoots;
  87 
  88   enum GCMergeRSWorkTimes {
  89     MergeRSMergedSparse,
  90     MergeRSMergedFine,
  91     MergeRSMergedCoarse
  92   };
  93 
  94   enum GCScanHRWorkItems {
  95     ScanHRScannedCards,
  96     ScanHRScannedBlocks,
  97     ScanHRClaimedChunks,
  98     ScanHRScannedOptRefs,
  99     ScanHRUsedMemory
 100   };


 187 
 188   double _recorded_prepare_heap_roots_time_ms;
 189 
 190   double _recorded_clear_claimed_marks_time_ms;
 191 
 192   double _recorded_young_cset_choice_time_ms;
 193   double _recorded_non_young_cset_choice_time_ms;
 194 
 195   double _recorded_redirty_logged_cards_time_ms;
 196 
 197   double _recorded_preserve_cm_referents_time_ms;
 198 
 199   double _recorded_merge_pss_time_ms;
 200 
 201   double _recorded_start_new_cset_time_ms;
 202 
 203   double _recorded_total_free_cset_time_ms;
 204 
 205   double _recorded_serial_free_cset_time_ms;
 206 




 207   double _cur_region_register_time;
 208 
 209   double _cur_fast_reclaim_humongous_time_ms;
 210   size_t _cur_fast_reclaim_humongous_total;
 211   size_t _cur_fast_reclaim_humongous_candidates;
 212   size_t _cur_fast_reclaim_humongous_reclaimed;
 213 
 214   double _cur_verify_before_time_ms;
 215   double _cur_verify_after_time_ms;
 216 
 217   ReferenceProcessorPhaseTimes _ref_phase_times;
 218   WeakProcessorPhaseTimes _weak_phase_times;
 219 
 220   double worker_time(GCParPhases phase, uint worker);
 221   void note_gc_end();
 222   void reset();
 223 
 224   template <class T>
 225   void details(T* phase, const char* indent) const;
 226 


 334   void record_string_deduplication_time(double ms) {
 335     _cur_string_deduplication_time_ms = ms;
 336   }
 337 
 338   void record_ref_proc_time(double ms) {
 339     _cur_ref_proc_time_ms = ms;
 340   }
 341 
 342   void record_root_region_scan_wait_time(double time_ms) {
 343     _root_region_scan_wait_time_ms = time_ms;
 344   }
 345 
 346   void record_total_free_cset_time_ms(double time_ms) {
 347     _recorded_total_free_cset_time_ms = time_ms;
 348   }
 349 
 350   void record_serial_free_cset_time_ms(double time_ms) {
 351     _recorded_serial_free_cset_time_ms = time_ms;
 352   }
 353 








 354   void record_register_regions(double time_ms, size_t total, size_t candidates) {
 355     _cur_region_register_time = time_ms;
 356     _cur_fast_reclaim_humongous_total = total;
 357     _cur_fast_reclaim_humongous_candidates = candidates;
 358   }
 359 
 360   void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
 361     _cur_fast_reclaim_humongous_time_ms = value;
 362     _cur_fast_reclaim_humongous_reclaimed = reclaimed;
 363   }
 364 
 365   void record_young_cset_choice_time_ms(double time_ms) {
 366     _recorded_young_cset_choice_time_ms = time_ms;
 367   }
 368 
 369   void record_non_young_cset_choice_time_ms(double time_ms) {
 370     _recorded_non_young_cset_choice_time_ms = time_ms;
 371   }
 372 
 373   void record_redirty_logged_cards_time_ms(double time_ms) {


 415   }
 416 
 417   double cur_clear_ct_time_ms() {
 418     return _cur_clear_ct_time_ms;
 419   }
 420 
 421   double cur_expand_heap_time_ms() {
 422     return _cur_expand_heap_time_ms;
 423   }
 424 
 425   double root_region_scan_wait_time_ms() {
 426     return _root_region_scan_wait_time_ms;
 427   }
 428 
 429   double young_cset_choice_time_ms() {
 430     return _recorded_young_cset_choice_time_ms;
 431   }
 432 
 433   double total_free_cset_time_ms() {
 434     return _recorded_total_free_cset_time_ms;




 435   }
 436 
 437   double non_young_cset_choice_time_ms() {
 438     return _recorded_non_young_cset_choice_time_ms;
 439   }
 440 
 441   double fast_reclaim_humongous_time_ms() {
 442     return _cur_fast_reclaim_humongous_time_ms;
 443   }
 444 
 445   size_t fast_reclaim_humongous_candidates() const {
 446     return _cur_fast_reclaim_humongous_candidates;
 447   }
 448 
 449   ReferenceProcessorPhaseTimes* ref_phase_times() { return &_ref_phase_times; }
 450 
 451   WeakProcessorPhaseTimes* weak_phase_times() { return &_weak_phase_times; }
 452 };
 453 
 454 class G1EvacPhaseWithTrimTimeTracker : public StackObj {




  59     CMRefRoots,
  60     MergeER,
  61     MergeRS,
  62     OptMergeRS,
  63     MergeLB,
  64     MergeHCC,
  65     ScanHR,
  66     OptScanHR,
  67     CodeRoots,
  68     OptCodeRoots,
  69     ObjCopy,
  70     OptObjCopy,
  71     Termination,
  72     OptTermination,
  73     Other,
  74     GCWorkerTotal,
  75     GCWorkerEnd,
  76     StringDedupQueueFixup,
  77     StringDedupTableFixup,
  78     RedirtyCards,
  79     ParFreeCSet,
  80     YoungFreeCSet,
  81     NonYoungFreeCSet,
  82     RebuildFreeList,
  83     MergePSS,
  84     GCParPhasesSentinel
  85   };
  86 
  87   static const GCParPhases ExtRootScanSubPhasesFirst = ThreadRoots;
  88   static const GCParPhases ExtRootScanSubPhasesLast = CMRefRoots;
  89 
  90   enum GCMergeRSWorkTimes {
  91     MergeRSMergedSparse,
  92     MergeRSMergedFine,
  93     MergeRSMergedCoarse
  94   };
  95 
  96   enum GCScanHRWorkItems {
  97     ScanHRScannedCards,
  98     ScanHRScannedBlocks,
  99     ScanHRClaimedChunks,
 100     ScanHRScannedOptRefs,
 101     ScanHRUsedMemory
 102   };


 189 
 190   double _recorded_prepare_heap_roots_time_ms;
 191 
 192   double _recorded_clear_claimed_marks_time_ms;
 193 
 194   double _recorded_young_cset_choice_time_ms;
 195   double _recorded_non_young_cset_choice_time_ms;
 196 
 197   double _recorded_redirty_logged_cards_time_ms;
 198 
 199   double _recorded_preserve_cm_referents_time_ms;
 200 
 201   double _recorded_merge_pss_time_ms;
 202 
 203   double _recorded_start_new_cset_time_ms;
 204 
 205   double _recorded_total_free_cset_time_ms;
 206 
 207   double _recorded_serial_free_cset_time_ms;
 208 
 209   double _recorded_total_rebuild_freelist_time_ms;
 210 
 211   double _recorded_serial_rebuild_freelist_time_ms;
 212 
 213   double _cur_region_register_time;
 214 
 215   double _cur_fast_reclaim_humongous_time_ms;
 216   size_t _cur_fast_reclaim_humongous_total;
 217   size_t _cur_fast_reclaim_humongous_candidates;
 218   size_t _cur_fast_reclaim_humongous_reclaimed;
 219 
 220   double _cur_verify_before_time_ms;
 221   double _cur_verify_after_time_ms;
 222 
 223   ReferenceProcessorPhaseTimes _ref_phase_times;
 224   WeakProcessorPhaseTimes _weak_phase_times;
 225 
 226   double worker_time(GCParPhases phase, uint worker);
 227   void note_gc_end();
 228   void reset();
 229 
 230   template <class T>
 231   void details(T* phase, const char* indent) const;
 232 


 340   void record_string_deduplication_time(double ms) {
 341     _cur_string_deduplication_time_ms = ms;
 342   }
 343 
 344   void record_ref_proc_time(double ms) {
 345     _cur_ref_proc_time_ms = ms;
 346   }
 347 
 348   void record_root_region_scan_wait_time(double time_ms) {
 349     _root_region_scan_wait_time_ms = time_ms;
 350   }
 351 
 352   void record_total_free_cset_time_ms(double time_ms) {
 353     _recorded_total_free_cset_time_ms = time_ms;
 354   }
 355 
 356   void record_serial_free_cset_time_ms(double time_ms) {
 357     _recorded_serial_free_cset_time_ms = time_ms;
 358   }
 359 
 360   void record_total_rebuild_freelist_time_ms(double time_ms) {
 361     _recorded_total_rebuild_freelist_time_ms = time_ms;
 362   }
 363 
 364   void record_serial_rebuild_freelist_time_ms(double time_ms) {
 365     _recorded_serial_rebuild_freelist_time_ms = time_ms;
 366   }
 367 
 368   void record_register_regions(double time_ms, size_t total, size_t candidates) {
 369     _cur_region_register_time = time_ms;
 370     _cur_fast_reclaim_humongous_total = total;
 371     _cur_fast_reclaim_humongous_candidates = candidates;
 372   }
 373 
 374   void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
 375     _cur_fast_reclaim_humongous_time_ms = value;
 376     _cur_fast_reclaim_humongous_reclaimed = reclaimed;
 377   }
 378 
 379   void record_young_cset_choice_time_ms(double time_ms) {
 380     _recorded_young_cset_choice_time_ms = time_ms;
 381   }
 382 
 383   void record_non_young_cset_choice_time_ms(double time_ms) {
 384     _recorded_non_young_cset_choice_time_ms = time_ms;
 385   }
 386 
 387   void record_redirty_logged_cards_time_ms(double time_ms) {


 429   }
 430 
 431   double cur_clear_ct_time_ms() {
 432     return _cur_clear_ct_time_ms;
 433   }
 434 
 435   double cur_expand_heap_time_ms() {
 436     return _cur_expand_heap_time_ms;
 437   }
 438 
 439   double root_region_scan_wait_time_ms() {
 440     return _root_region_scan_wait_time_ms;
 441   }
 442 
 443   double young_cset_choice_time_ms() {
 444     return _recorded_young_cset_choice_time_ms;
 445   }
 446 
 447   double total_free_cset_time_ms() {
 448     return _recorded_total_free_cset_time_ms;
 449   }
 450 
 451   double total_rebuild_freelist_time_ms() {
 452     return _recorded_total_rebuild_freelist_time_ms;
 453   }
 454 
 455   double non_young_cset_choice_time_ms() {
 456     return _recorded_non_young_cset_choice_time_ms;
 457   }
 458 
 459   double fast_reclaim_humongous_time_ms() {
 460     return _cur_fast_reclaim_humongous_time_ms;
 461   }
 462 
 463   size_t fast_reclaim_humongous_candidates() const {
 464     return _cur_fast_reclaim_humongous_candidates;
 465   }
 466 
 467   ReferenceProcessorPhaseTimes* ref_phase_times() { return &_ref_phase_times; }
 468 
 469   WeakProcessorPhaseTimes* weak_phase_times() { return &_weak_phase_times; }
 470 };
 471 
 472 class G1EvacPhaseWithTrimTimeTracker : public StackObj {


< prev index next >