comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @ 547:1e458753107d

6802413: G1: G1FixedSurvivorSpaceSize should be converted into regions in calculate_survivors_policy() Reviewed-by: tonyp, jmasa
author apetrusenko
date Mon, 09 Feb 2009 17:33:06 +0300
parents 58054a18d735
children 0fbdb4381b99 3698e8f47799
comparison
equal deleted inserted replaced
546:05c6d52fa7a9 547:1e458753107d
278 _tenuring_threshold = MaxTenuringThreshold; 278 _tenuring_threshold = MaxTenuringThreshold;
279 279
280 if (G1UseSurvivorSpace) { 280 if (G1UseSurvivorSpace) {
281 // if G1FixedSurvivorSpaceSize is 0 which means the size is not 281 // if G1FixedSurvivorSpaceSize is 0 which means the size is not
282 // fixed, then _max_survivor_regions will be calculated at 282 // fixed, then _max_survivor_regions will be calculated at
283 // calculate_young_list_target_config diring initialization 283 // calculate_young_list_target_config during initialization
284 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes; 284 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes;
285 } else { 285 } else {
286 _max_survivor_regions = 0; 286 _max_survivor_regions = 0;
287 } 287 }
288 288
295 } 295 }
296 296
297 void G1CollectorPolicy::initialize_flags() { 297 void G1CollectorPolicy::initialize_flags() {
298 set_min_alignment(HeapRegion::GrainBytes); 298 set_min_alignment(HeapRegion::GrainBytes);
299 set_max_alignment(GenRemSet::max_alignment_constraint(rem_set_name())); 299 set_max_alignment(GenRemSet::max_alignment_constraint(rem_set_name()));
300 if (SurvivorRatio < 1) {
301 vm_exit_during_initialization("Invalid survivor ratio specified");
302 }
300 CollectorPolicy::initialize_flags(); 303 CollectorPolicy::initialize_flags();
301 } 304 }
302 305
303 void G1CollectorPolicy::init() { 306 void G1CollectorPolicy::init() {
304 // Set aside an initial future to_space. 307 // Set aside an initial future to_space.
2768 return; 2771 return;
2769 } 2772 }
2770 if (G1FixedSurvivorSpaceSize == 0) { 2773 if (G1FixedSurvivorSpaceSize == 0) {
2771 _max_survivor_regions = _young_list_target_length / SurvivorRatio; 2774 _max_survivor_regions = _young_list_target_length / SurvivorRatio;
2772 } else { 2775 } else {
2773 _max_survivor_regions = G1FixedSurvivorSpaceSize; 2776 _max_survivor_regions = G1FixedSurvivorSpaceSize / HeapRegion::GrainBytes;
2774 } 2777 }
2775 2778
2776 if (G1FixedTenuringThreshold) { 2779 if (G1FixedTenuringThreshold) {
2777 _tenuring_threshold = MaxTenuringThreshold; 2780 _tenuring_threshold = MaxTenuringThreshold;
2778 } else { 2781 } else {