src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp

Print this page

        

*** 89,99 **** } bool PSPromotionManager::post_scavenge(YoungGCTracer& gc_tracer) { bool promotion_failure_occurred = false; ! TASKQUEUE_STATS_ONLY(if (PrintGCDetails && ParallelGCVerbose) print_stats()); for (uint i = 0; i < ParallelGCThreads + 1; i++) { PSPromotionManager* manager = manager_array(i); assert(manager->claimed_stack_depth()->is_empty(), "should be empty"); if (manager->_promotion_failed_info.has_failed()) { gc_tracer.report_promotion_failed(manager->_promotion_failed_info); --- 89,99 ---- } bool PSPromotionManager::post_scavenge(YoungGCTracer& gc_tracer) { bool promotion_failure_occurred = false; ! TASKQUEUE_STATS_ONLY(if (PrintTaskqueue) print_taskqueue_stats()); for (uint i = 0; i < ParallelGCThreads + 1; i++) { PSPromotionManager* manager = manager_array(i); assert(manager->claimed_stack_depth()->is_empty(), "should be empty"); if (manager->_promotion_failed_info.has_failed()) { gc_tracer.report_promotion_failed(manager->_promotion_failed_info);
*** 104,123 **** return promotion_failure_occurred; } #if TASKQUEUE_STATS void ! PSPromotionManager::print_taskqueue_stats(uint i) const { ! tty->print("%3u ", i); ! _claimed_stack_depth.stats.print(); ! tty->cr(); ! } ! ! void ! PSPromotionManager::print_local_stats(uint i) const { #define FMT " " SIZE_FORMAT_W(10) ! tty->print_cr("%3u" FMT FMT FMT FMT, i, _masked_pushes, _masked_steals, _arrays_chunked, _array_chunks_processed); #undef FMT } static const char* const pm_stats_hdr[] = { --- 104,116 ---- return promotion_failure_occurred; } #if TASKQUEUE_STATS void ! PSPromotionManager::print_local_stats(outputStream* const out, uint i) const { #define FMT " " SIZE_FORMAT_W(10) ! out->print_cr("%3u" FMT FMT FMT FMT, i, _masked_pushes, _masked_steals, _arrays_chunked, _array_chunks_processed); #undef FMT } static const char* const pm_stats_hdr[] = {
*** 125,148 **** "thr push steal chunked chunks", "--- ---------- ---------- ---------- ----------" }; void ! PSPromotionManager::print_stats() { ! tty->print_cr("== GC Tasks Stats, GC %3d", Universe::heap()->total_collections()); ! tty->print("thr "); TaskQueueStats::print_header(1); tty->cr(); ! tty->print("--- "); TaskQueueStats::print_header(2); tty->cr(); for (uint i = 0; i < ParallelGCThreads + 1; ++i) { ! manager_array(i)->print_taskqueue_stats(i); } const uint hlines = sizeof(pm_stats_hdr) / sizeof(pm_stats_hdr[0]); ! for (uint i = 0; i < hlines; ++i) tty->print_cr("%s", pm_stats_hdr[i]); for (uint i = 0; i < ParallelGCThreads + 1; ++i) { ! manager_array(i)->print_local_stats(i); } } void PSPromotionManager::reset_stats() { --- 118,145 ---- "thr push steal chunked chunks", "--- ---------- ---------- ---------- ----------" }; void ! PSPromotionManager::print_taskqueue_stats(outputStream* const out) { ! out->print_cr("== GC Tasks Stats, GC %3d", Universe::heap()->total_collections()); ! TaskQueueStats totals; ! out->print("thr "); TaskQueueStats::print_header(1, out); out->cr(); ! out->print("--- "); TaskQueueStats::print_header(2, out); out->cr(); for (uint i = 0; i < ParallelGCThreads + 1; ++i) { ! TaskQueueStats& next = manager_array(i)->_claimed_stack_depth.stats; ! out->print("%3d ", i); next.print(out); out->cr(); ! totals += next; } + out->print("tot "); totals.print(out); out->cr(); const uint hlines = sizeof(pm_stats_hdr) / sizeof(pm_stats_hdr[0]); ! for (uint i = 0; i < hlines; ++i) out->print_cr("%s", pm_stats_hdr[i]); for (uint i = 0; i < ParallelGCThreads + 1; ++i) { ! manager_array(i)->print_local_stats(out, i); } } void PSPromotionManager::reset_stats() {