comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @ 1282:b81f3572f355

6928059: G1: command line parameter renaming Summary: Rename G1 parameters to make them more consistent. Reviewed-by: jmasa, johnc
author tonyp
date Tue, 23 Feb 2010 23:13:23 -0500
parents 0414c1049f15
children 1c72304f1885
comparison
equal deleted inserted replaced
1262:58add740c4ee 1282:b81f3572f355
268 _concurrent_mark_init_times_ms->add(0.05); 268 _concurrent_mark_init_times_ms->add(0.05);
269 _concurrent_mark_remark_times_ms->add(0.05); 269 _concurrent_mark_remark_times_ms->add(0.05);
270 _concurrent_mark_cleanup_times_ms->add(0.20); 270 _concurrent_mark_cleanup_times_ms->add(0.20);
271 _tenuring_threshold = MaxTenuringThreshold; 271 _tenuring_threshold = MaxTenuringThreshold;
272 272
273 if (G1UseSurvivorSpaces) { 273 // if G1FixedSurvivorSpaceSize is 0 which means the size is not
274 // if G1FixedSurvivorSpaceSize is 0 which means the size is not 274 // fixed, then _max_survivor_regions will be calculated at
275 // fixed, then _max_survivor_regions will be calculated at 275 // calculate_young_list_target_config during initialization
276 // calculate_young_list_target_config during initialization 276 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes;
277 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes;
278 } else {
279 _max_survivor_regions = 0;
280 }
281 277
282 initialize_all(); 278 initialize_all();
283 } 279 }
284 280
285 // Increment "i", mod "len" 281 // Increment "i", mod "len"
453 449
454 void G1CollectorPolicy::calculate_young_list_target_config(size_t rs_lengths) { 450 void G1CollectorPolicy::calculate_young_list_target_config(size_t rs_lengths) {
455 guarantee( adaptive_young_list_length(), "pre-condition" ); 451 guarantee( adaptive_young_list_length(), "pre-condition" );
456 452
457 double start_time_sec = os::elapsedTime(); 453 double start_time_sec = os::elapsedTime();
458 size_t min_reserve_perc = MAX2((size_t)2, (size_t)G1MinReservePercent); 454 size_t min_reserve_perc = MAX2((size_t)2, (size_t)G1ReservePercent);
459 min_reserve_perc = MIN2((size_t) 50, min_reserve_perc); 455 min_reserve_perc = MIN2((size_t) 50, min_reserve_perc);
460 size_t reserve_regions = 456 size_t reserve_regions =
461 (size_t) ((double) min_reserve_perc * (double) _g1->n_regions() / 100.0); 457 (size_t) ((double) min_reserve_perc * (double) _g1->n_regions() / 100.0);
462 458
463 if (full_young_gcs() && _free_regions_at_end_of_collection > 0) { 459 if (full_young_gcs() && _free_regions_at_end_of_collection > 0) {
1108 // do that for any other surv rate groups 1104 // do that for any other surv rate groups
1109 _short_lived_surv_rate_group->stop_adding_regions(); 1105 _short_lived_surv_rate_group->stop_adding_regions();
1110 size_t short_lived_so_length = _young_list_so_prefix_length; 1106 size_t short_lived_so_length = _young_list_so_prefix_length;
1111 _short_lived_surv_rate_group->record_scan_only_prefix(short_lived_so_length); 1107 _short_lived_surv_rate_group->record_scan_only_prefix(short_lived_so_length);
1112 tag_scan_only(short_lived_so_length); 1108 tag_scan_only(short_lived_so_length);
1113 1109 _survivors_age_table.clear();
1114 if (G1UseSurvivorSpaces) {
1115 _survivors_age_table.clear();
1116 }
1117 1110
1118 assert( verify_young_ages(), "region age verification" ); 1111 assert( verify_young_ages(), "region age verification" );
1119 } 1112 }
1120 1113
1121 void G1CollectorPolicy::tag_scan_only(size_t short_lived_scan_only_length) { 1114 void G1CollectorPolicy::tag_scan_only(size_t short_lived_scan_only_length) {
1914 _scan_only_regions_at_end_of_collection = _g1->young_list_length(); 1907 _scan_only_regions_at_end_of_collection = _g1->young_list_length();
1915 calculate_young_list_min_length(); 1908 calculate_young_list_min_length();
1916 calculate_young_list_target_config(); 1909 calculate_young_list_target_config();
1917 1910
1918 // Note that _mmu_tracker->max_gc_time() returns the time in seconds. 1911 // Note that _mmu_tracker->max_gc_time() returns the time in seconds.
1919 double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSUpdatePauseFractionPercent / 100.0; 1912 double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSetUpdatingPauseTimePercent / 100.0;
1920 adjust_concurrent_refinement(update_rs_time, update_rs_processed_buffers, update_rs_time_goal_ms); 1913 adjust_concurrent_refinement(update_rs_time, update_rs_processed_buffers, update_rs_time_goal_ms);
1921 1914
1922 // </NEW PREDICTION> 1915 // </NEW PREDICTION>
1923 1916
1924 _target_pause_time_ms = -1.0; 1917 _target_pause_time_ms = -1.0;
1930 double update_rs_processed_buffers, 1923 double update_rs_processed_buffers,
1931 double goal_ms) { 1924 double goal_ms) {
1932 DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); 1925 DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
1933 ConcurrentG1Refine *cg1r = G1CollectedHeap::heap()->concurrent_g1_refine(); 1926 ConcurrentG1Refine *cg1r = G1CollectedHeap::heap()->concurrent_g1_refine();
1934 1927
1935 if (G1AdaptiveConcRefine) { 1928 if (G1UseAdaptiveConcRefinement) {
1936 const int k_gy = 3, k_gr = 6; 1929 const int k_gy = 3, k_gr = 6;
1937 const double inc_k = 1.1, dec_k = 0.9; 1930 const double inc_k = 1.1, dec_k = 0.9;
1938 1931
1939 int g = cg1r->green_zone(); 1932 int g = cg1r->green_zone();
1940 if (update_rs_time > goal_ms) { 1933 if (update_rs_time > goal_ms) {
2605 } 2598 }
2606 2599
2607 // Calculates survivor space parameters. 2600 // Calculates survivor space parameters.
2608 void G1CollectorPolicy::calculate_survivors_policy() 2601 void G1CollectorPolicy::calculate_survivors_policy()
2609 { 2602 {
2610 if (!G1UseSurvivorSpaces) {
2611 return;
2612 }
2613 if (G1FixedSurvivorSpaceSize == 0) { 2603 if (G1FixedSurvivorSpaceSize == 0) {
2614 _max_survivor_regions = _young_list_target_length / SurvivorRatio; 2604 _max_survivor_regions = _young_list_target_length / SurvivorRatio;
2615 } else { 2605 } else {
2616 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes; 2606 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes;
2617 } 2607 }
2865 2855
2866 // Add the heap region to the collection set and return the conservative 2856 // Add the heap region to the collection set and return the conservative
2867 // estimate of the number of live bytes. 2857 // estimate of the number of live bytes.
2868 void G1CollectorPolicy:: 2858 void G1CollectorPolicy::
2869 add_to_collection_set(HeapRegion* hr) { 2859 add_to_collection_set(HeapRegion* hr) {
2870 if (G1PrintRegions) { 2860 if (G1PrintHeapRegions) {
2871 gclog_or_tty->print_cr("added region to cset %d:["PTR_FORMAT", "PTR_FORMAT"], " 2861 gclog_or_tty->print_cr("added region to cset %d:["PTR_FORMAT", "PTR_FORMAT"], "
2872 "top "PTR_FORMAT", young %s", 2862 "top "PTR_FORMAT", young %s",
2873 hr->hrs_index(), hr->bottom(), hr->end(), 2863 hr->hrs_index(), hr->bottom(), hr->end(),
2874 hr->top(), (hr->is_young()) ? "YES" : "NO"); 2864 hr->top(), (hr->is_young()) ? "YES" : "NO");
2875 } 2865 }