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