hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp
changeset 30878 f1702744b3a4
parent 30876 44a71334fd94
child 30881 7a3899d7cea0
equal deleted inserted replaced
30876:44a71334fd94 30878:f1702744b3a4
  3543     return false;
  3543     return false;
  3544   }
  3544   }
  3545 };
  3545 };
  3546 #endif // ASSERT
  3546 #endif // ASSERT
  3547 
  3547 
       
  3548 uint G1CollectedHeap::num_task_queues() const {
       
  3549   return _task_queues->size();
       
  3550 }
       
  3551 
  3548 #if TASKQUEUE_STATS
  3552 #if TASKQUEUE_STATS
  3549 void G1CollectedHeap::print_taskqueue_stats_hdr(outputStream* const st) {
  3553 void G1CollectedHeap::print_taskqueue_stats_hdr(outputStream* const st) {
  3550   st->print_raw_cr("GC Task Stats");
  3554   st->print_raw_cr("GC Task Stats");
  3551   st->print_raw("thr "); TaskQueueStats::print_header(1, st); st->cr();
  3555   st->print_raw("thr "); TaskQueueStats::print_header(1, st); st->cr();
  3552   st->print_raw("--- "); TaskQueueStats::print_header(2, st); st->cr();
  3556   st->print_raw("--- "); TaskQueueStats::print_header(2, st); st->cr();
  3554 
  3558 
  3555 void G1CollectedHeap::print_taskqueue_stats(outputStream* const st) const {
  3559 void G1CollectedHeap::print_taskqueue_stats(outputStream* const st) const {
  3556   print_taskqueue_stats_hdr(st);
  3560   print_taskqueue_stats_hdr(st);
  3557 
  3561 
  3558   TaskQueueStats totals;
  3562   TaskQueueStats totals;
  3559   const uint n = workers()->total_workers();
  3563   const uint n = num_task_queues();
  3560   for (uint i = 0; i < n; ++i) {
  3564   for (uint i = 0; i < n; ++i) {
  3561     st->print("%3u ", i); task_queue(i)->stats.print(st); st->cr();
  3565     st->print("%3u ", i); task_queue(i)->stats.print(st); st->cr();
  3562     totals += task_queue(i)->stats;
  3566     totals += task_queue(i)->stats;
  3563   }
  3567   }
  3564   st->print_raw("tot "); totals.print(st); st->cr();
  3568   st->print_raw("tot "); totals.print(st); st->cr();
  3565 
  3569 
  3566   DEBUG_ONLY(totals.verify());
  3570   DEBUG_ONLY(totals.verify());
  3567 }
  3571 }
  3568 
  3572 
  3569 void G1CollectedHeap::reset_taskqueue_stats() {
  3573 void G1CollectedHeap::reset_taskqueue_stats() {
  3570   const uint n = workers()->total_workers();
  3574   const uint n = num_task_queues();
  3571   for (uint i = 0; i < n; ++i) {
  3575   for (uint i = 0; i < n; ++i) {
  3572     task_queue(i)->stats.reset();
  3576     task_queue(i)->stats.reset();
  3573   }
  3577   }
  3574 }
  3578 }
  3575 #endif // TASKQUEUE_STATS
  3579 #endif // TASKQUEUE_STATS