comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 936:e1fdf4fd34dc

6871111: G1: remove the concurrent overhead tracker Summary: Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker). Reviewed-by: iveresov, johnc
author tonyp
date Wed, 19 Aug 2009 12:53:25 -0400
parents 6cb8e9df7174
children 8624da129f0b
comparison
equal deleted inserted replaced
912:308762b2bf14 936:e1fdf4fd34dc
925 gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); 925 gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps);
926 TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); 926 TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty);
927 TraceTime t(full ? "Full GC (System.gc())" : "Full GC", PrintGC, true, gclog_or_tty); 927 TraceTime t(full ? "Full GC (System.gc())" : "Full GC", PrintGC, true, gclog_or_tty);
928 928
929 double start = os::elapsedTime(); 929 double start = os::elapsedTime();
930 GCOverheadReporter::recordSTWStart(start);
931 g1_policy()->record_full_collection_start(); 930 g1_policy()->record_full_collection_start();
932 931
933 gc_prologue(true); 932 gc_prologue(true);
934 increment_total_collections(true /* full gc */); 933 increment_total_collections(true /* full gc */);
935 934
1047 // Ask the permanent generation to adjust size for full collections 1046 // Ask the permanent generation to adjust size for full collections
1048 perm()->compute_new_size(); 1047 perm()->compute_new_size();
1049 } 1048 }
1050 1049
1051 double end = os::elapsedTime(); 1050 double end = os::elapsedTime();
1052 GCOverheadReporter::recordSTWEnd(end);
1053 g1_policy()->record_full_collection_end(); 1051 g1_policy()->record_full_collection_end();
1054 1052
1055 #ifdef TRACESPINNING 1053 #ifdef TRACESPINNING
1056 ParallelTaskTerminator::print_termination_counts(); 1054 ParallelTaskTerminator::print_termination_counts();
1057 #endif 1055 #endif
1608 _gc_alloc_region_list = NULL; 1606 _gc_alloc_region_list = NULL;
1609 1607
1610 // Do later initialization work for concurrent refinement. 1608 // Do later initialization work for concurrent refinement.
1611 _cg1r->init(); 1609 _cg1r->init();
1612 1610
1613 const char* group_names[] = { "CR", "ZF", "CM", "CL" };
1614 GCOverheadReporter::initGCOverheadReporter(4, group_names);
1615
1616 return JNI_OK; 1611 return JNI_OK;
1617 } 1612 }
1618 1613
1619 void G1CollectedHeap::ref_processing_init() { 1614 void G1CollectedHeap::ref_processing_init() {
1620 SharedHeap::ref_processing_init(); 1615 SharedHeap::ref_processing_init();
2429 if (G1SummarizeZFStats) { 2424 if (G1SummarizeZFStats) {
2430 ConcurrentZFThread::print_summary_info(); 2425 ConcurrentZFThread::print_summary_info();
2431 } 2426 }
2432 g1_policy()->print_yg_surv_rate_info(); 2427 g1_policy()->print_yg_surv_rate_info();
2433 2428
2434 GCOverheadReporter::printGCOverhead();
2435
2436 SpecializationStats::print(); 2429 SpecializationStats::print();
2437 } 2430 }
2438 2431
2439 2432
2440 int G1CollectedHeap::addr_to_arena_id(void* addr) const { 2433 int G1CollectedHeap::addr_to_arena_id(void* addr) const {
2667 abandon_cur_alloc_region(); 2660 abandon_cur_alloc_region();
2668 2661
2669 // The elapsed time induced by the start time below deliberately elides 2662 // The elapsed time induced by the start time below deliberately elides
2670 // the possible verification above. 2663 // the possible verification above.
2671 double start_time_sec = os::elapsedTime(); 2664 double start_time_sec = os::elapsedTime();
2672 GCOverheadReporter::recordSTWStart(start_time_sec);
2673 size_t start_used_bytes = used(); 2665 size_t start_used_bytes = used();
2674 2666
2675 g1_policy()->record_collection_pause_start(start_time_sec, 2667 g1_policy()->record_collection_pause_start(start_time_sec,
2676 start_used_bytes); 2668 start_used_bytes);
2677 2669
2796 #endif // SCAN_ONLY_VERBOSE 2788 #endif // SCAN_ONLY_VERBOSE
2797 2789
2798 double end_time_sec = os::elapsedTime(); 2790 double end_time_sec = os::elapsedTime();
2799 double pause_time_ms = (end_time_sec - start_time_sec) * MILLIUNITS; 2791 double pause_time_ms = (end_time_sec - start_time_sec) * MILLIUNITS;
2800 g1_policy()->record_pause_time_ms(pause_time_ms); 2792 g1_policy()->record_pause_time_ms(pause_time_ms);
2801 GCOverheadReporter::recordSTWEnd(end_time_sec);
2802 g1_policy()->record_collection_pause_end(abandoned); 2793 g1_policy()->record_collection_pause_end(abandoned);
2803 2794
2804 assert(regions_accounted_for(), "Region leakage."); 2795 assert(regions_accounted_for(), "Region leakage.");
2805 2796
2806 if (VerifyAfterGC && total_collections() >= VerifyGCStartAt) { 2797 if (VerifyAfterGC && total_collections() >= VerifyGCStartAt) {