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 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;
|
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(GenRemSet::CardTable);
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 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;
|