src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc_implementation/g1

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

Print this page




 302   _gc_overhead_perc = 100.0 * (1.0 / (1.0 + GCTimeRatio));
 303 
 304   uintx reserve_perc = G1ReservePercent;
 305   // Put an artificial ceiling on this so that it's not set to a silly value.
 306   if (reserve_perc > 50) {
 307     reserve_perc = 50;
 308     warning("G1ReservePercent is set to a value that is too large, "
 309             "it's been updated to %u", reserve_perc);
 310   }
 311   _reserve_factor = (double) reserve_perc / 100.0;
 312   // This will be set when the heap is expanded
 313   // for the first time during initialization.
 314   _reserve_regions = 0;
 315 
 316   initialize_all();
 317   _collectionSetChooser = new CollectionSetChooser();
 318   _young_gen_sizer = new G1YoungGenSizer(); // Must be after call to initialize_flags
 319 }
 320 
 321 void G1CollectorPolicy::initialize_flags() {
 322   set_min_alignment(HeapRegion::GrainBytes);
 323   size_t card_table_alignment = GenRemSet::max_alignment_constraint(rem_set_name());
 324   size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
 325   set_max_alignment(MAX3(card_table_alignment, min_alignment(), page_size));

 326   if (SurvivorRatio < 1) {
 327     vm_exit_during_initialization("Invalid survivor ratio specified");
 328   }
 329   CollectorPolicy::initialize_flags();
 330 }
 331 
 332 G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true) {
 333   assert(G1NewSizePercent <= G1MaxNewSizePercent, "Min larger than max");
 334   assert(G1NewSizePercent > 0 && G1NewSizePercent < 100, "Min out of bounds");
 335   assert(G1MaxNewSizePercent > 0 && G1MaxNewSizePercent < 100, "Max out of bounds");
 336 
 337   if (FLAG_IS_CMDLINE(NewRatio)) {
 338     if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
 339       warning("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
 340     } else {
 341       _sizer_kind = SizerNewRatio;
 342       _adaptive_size = false;
 343       return;
 344     }
 345   }




 302   _gc_overhead_perc = 100.0 * (1.0 / (1.0 + GCTimeRatio));
 303 
 304   uintx reserve_perc = G1ReservePercent;
 305   // Put an artificial ceiling on this so that it's not set to a silly value.
 306   if (reserve_perc > 50) {
 307     reserve_perc = 50;
 308     warning("G1ReservePercent is set to a value that is too large, "
 309             "it's been updated to %u", reserve_perc);
 310   }
 311   _reserve_factor = (double) reserve_perc / 100.0;
 312   // This will be set when the heap is expanded
 313   // for the first time during initialization.
 314   _reserve_regions = 0;
 315 
 316   initialize_all();
 317   _collectionSetChooser = new CollectionSetChooser();
 318   _young_gen_sizer = new G1YoungGenSizer(); // Must be after call to initialize_flags
 319 }
 320 
 321 void G1CollectorPolicy::initialize_flags() {
 322   _min_alignment = HeapRegion::GrainBytes;
 323   size_t card_table_alignment = GenRemSet::max_alignment_constraint(rem_set_name());
 324   size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
 325   _max_alignment = MAX3(card_table_alignment, _min_alignment, page_size);
 326 
 327   if (SurvivorRatio < 1) {
 328     vm_exit_during_initialization("Invalid survivor ratio specified");
 329   }
 330   CollectorPolicy::initialize_flags();
 331 }
 332 
 333 G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true) {
 334   assert(G1NewSizePercent <= G1MaxNewSizePercent, "Min larger than max");
 335   assert(G1NewSizePercent > 0 && G1NewSizePercent < 100, "Min out of bounds");
 336   assert(G1MaxNewSizePercent > 0 && G1MaxNewSizePercent < 100, "Max out of bounds");
 337 
 338   if (FLAG_IS_CMDLINE(NewRatio)) {
 339     if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
 340       warning("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
 341     } else {
 342       _sizer_kind = SizerNewRatio;
 343       _adaptive_size = false;
 344       return;
 345     }
 346   }


src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File