< prev index next >

src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp

Print this page

        

*** 1074,1092 **** // Do that for any other surv rate groups if (update_stats) { double cost_per_card_ms = 0.0; if (_pending_cards > 0) { ! cost_per_card_ms = phase_times()->average_time(G1GCPhaseTimes::UpdateRS) / (double) _pending_cards; _cost_per_card_ms_seq->add(cost_per_card_ms); } size_t cards_scanned = _g1->cards_scanned(); double cost_per_entry_ms = 0.0; if (cards_scanned > 10) { ! cost_per_entry_ms = phase_times()->average_time(G1GCPhaseTimes::ScanRS) / (double) cards_scanned; if (_last_gc_was_young) { _cost_per_entry_ms_seq->add(cost_per_entry_ms); } else { _mixed_cost_per_entry_ms_seq->add(cost_per_entry_ms); } --- 1074,1092 ---- // Do that for any other surv rate groups if (update_stats) { double cost_per_card_ms = 0.0; if (_pending_cards > 0) { ! cost_per_card_ms = phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS) / (double) _pending_cards; _cost_per_card_ms_seq->add(cost_per_card_ms); } size_t cards_scanned = _g1->cards_scanned(); double cost_per_entry_ms = 0.0; if (cards_scanned > 10) { ! cost_per_entry_ms = phase_times()->average_time_ms(G1GCPhaseTimes::ScanRS) / (double) cards_scanned; if (_last_gc_was_young) { _cost_per_entry_ms_seq->add(cost_per_entry_ms); } else { _mixed_cost_per_entry_ms_seq->add(cost_per_entry_ms); }
*** 1124,1144 **** size_t freed_bytes = _heap_used_bytes_before_gc - cur_used_bytes; size_t copied_bytes = _collection_set_bytes_used_before - freed_bytes; double cost_per_byte_ms = 0.0; if (copied_bytes > 0) { ! cost_per_byte_ms = phase_times()->average_time(G1GCPhaseTimes::ObjCopy) / (double) copied_bytes; if (_in_marking_window) { _cost_per_byte_ms_during_cm_seq->add(cost_per_byte_ms); } else { _cost_per_byte_ms_seq->add(cost_per_byte_ms); } } double all_other_time_ms = pause_time_ms - ! (phase_times()->average_time(G1GCPhaseTimes::UpdateRS) + phase_times()->average_time(G1GCPhaseTimes::ScanRS) ! + phase_times()->average_time(G1GCPhaseTimes::ObjCopy) + phase_times()->average_time(G1GCPhaseTimes::Termination)); double young_other_time_ms = 0.0; if (young_cset_region_length() > 0) { young_other_time_ms = phase_times()->young_cset_choice_time_ms() + --- 1124,1144 ---- size_t freed_bytes = _heap_used_bytes_before_gc - cur_used_bytes; size_t copied_bytes = _collection_set_bytes_used_before - freed_bytes; double cost_per_byte_ms = 0.0; if (copied_bytes > 0) { ! cost_per_byte_ms = phase_times()->average_time_ms(G1GCPhaseTimes::ObjCopy) / (double) copied_bytes; if (_in_marking_window) { _cost_per_byte_ms_during_cm_seq->add(cost_per_byte_ms); } else { _cost_per_byte_ms_seq->add(cost_per_byte_ms); } } double all_other_time_ms = pause_time_ms - ! (phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS) + phase_times()->average_time_ms(G1GCPhaseTimes::ScanRS) ! + phase_times()->average_time_ms(G1GCPhaseTimes::ObjCopy) + phase_times()->average_time_ms(G1GCPhaseTimes::Termination)); double young_other_time_ms = 0.0; if (young_cset_region_length() > 0) { young_other_time_ms = phase_times()->young_cset_choice_time_ms() +
*** 1175,1185 **** _free_regions_at_end_of_collection = _g1->num_free_regions(); update_young_list_target_length(); // Note that _mmu_tracker->max_gc_time() returns the time in seconds. double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSetUpdatingPauseTimePercent / 100.0; ! adjust_concurrent_refinement(phase_times()->average_time(G1GCPhaseTimes::UpdateRS), phase_times()->sub_count_sum(G1GCPhaseTimes::UpdateRS), update_rs_time_goal_ms); _collectionSetChooser->verify(); } --- 1175,1185 ---- _free_regions_at_end_of_collection = _g1->num_free_regions(); update_young_list_target_length(); // Note that _mmu_tracker->max_gc_time() returns the time in seconds. double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSetUpdatingPauseTimePercent / 100.0; ! adjust_concurrent_refinement(phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS), phase_times()->sub_count_sum(G1GCPhaseTimes::UpdateRS), update_rs_time_goal_ms); _collectionSetChooser->verify(); }
*** 2118,2140 **** if(TraceYoungGenTime) { _total.add(pause_time_ms); _other.add(pause_time_ms - phase_times->accounted_time_ms()); _root_region_scan_wait.add(phase_times->root_region_scan_wait_time_ms()); _parallel.add(phase_times->cur_collection_par_time_ms()); ! _ext_root_scan.add(phase_times->average_time(G1GCPhaseTimes::ExtRootScan)); ! _satb_filtering.add(phase_times->average_time(G1GCPhaseTimes::SATBFiltering)); ! _update_rs.add(phase_times->average_time(G1GCPhaseTimes::UpdateRS)); ! _scan_rs.add(phase_times->average_time(G1GCPhaseTimes::ScanRS)); ! _obj_copy.add(phase_times->average_time(G1GCPhaseTimes::ObjCopy)); ! _termination.add(phase_times->average_time(G1GCPhaseTimes::Termination)); ! ! double parallel_known_time = phase_times->average_time(G1GCPhaseTimes::ExtRootScan) + ! phase_times->average_time(G1GCPhaseTimes::SATBFiltering) + ! phase_times->average_time(G1GCPhaseTimes::UpdateRS) + ! phase_times->average_time(G1GCPhaseTimes::ScanRS) + ! phase_times->average_time(G1GCPhaseTimes::ObjCopy) + ! phase_times->average_time(G1GCPhaseTimes::Termination); double parallel_other_time = phase_times->cur_collection_par_time_ms() - parallel_known_time; _parallel_other.add(parallel_other_time); _clear_ct.add(phase_times->cur_clear_ct_time_ms()); } --- 2118,2140 ---- if(TraceYoungGenTime) { _total.add(pause_time_ms); _other.add(pause_time_ms - phase_times->accounted_time_ms()); _root_region_scan_wait.add(phase_times->root_region_scan_wait_time_ms()); _parallel.add(phase_times->cur_collection_par_time_ms()); ! _ext_root_scan.add(phase_times->average_time_ms(G1GCPhaseTimes::ExtRootScan)); ! _satb_filtering.add(phase_times->average_time_ms(G1GCPhaseTimes::SATBFiltering)); ! _update_rs.add(phase_times->average_time_ms(G1GCPhaseTimes::UpdateRS)); ! _scan_rs.add(phase_times->average_time_ms(G1GCPhaseTimes::ScanRS)); ! _obj_copy.add(phase_times->average_time_ms(G1GCPhaseTimes::ObjCopy)); ! _termination.add(phase_times->average_time_ms(G1GCPhaseTimes::Termination)); ! ! double parallel_known_time = phase_times->average_time_ms(G1GCPhaseTimes::ExtRootScan) + ! phase_times->average_time_ms(G1GCPhaseTimes::SATBFiltering) + ! phase_times->average_time_ms(G1GCPhaseTimes::UpdateRS) + ! phase_times->average_time_ms(G1GCPhaseTimes::ScanRS) + ! phase_times->average_time_ms(G1GCPhaseTimes::ObjCopy) + ! phase_times->average_time_ms(G1GCPhaseTimes::Termination); double parallel_other_time = phase_times->cur_collection_par_time_ms() - parallel_known_time; _parallel_other.add(parallel_other_time); _clear_ct.add(phase_times->cur_clear_ct_time_ms()); }
< prev index next >