Mercurial > hg > graal-compiler
comparison src/share/vm/memory/collectorPolicy.cpp @ 13066:236cecd9ec97
8028093: Initial young size is smaller than minimum young size
Summary: Remove min_gen1_size argument from adjust_gen0_sizes()
Reviewed-by: tschatzl, brutisso
author | jwilhelm |
---|---|
date | Mon, 11 Nov 2013 13:50:10 +0100 |
parents | 3ad2b68d107e |
children | 284953caf7aa 1d01a7f3a336 |
comparison
equal
deleted
inserted
replaced
13065:3ad2b68d107e | 13066:236cecd9ec97 |
---|---|
521 // is used to make the needed adjustments. The application of the | 521 // is used to make the needed adjustments. The application of the |
522 // policies could be more sophisticated (iterative for example) but | 522 // policies could be more sophisticated (iterative for example) but |
523 // keeping it simple also seems a worthwhile goal. | 523 // keeping it simple also seems a worthwhile goal. |
524 bool TwoGenerationCollectorPolicy::adjust_gen0_sizes(size_t* gen0_size_ptr, | 524 bool TwoGenerationCollectorPolicy::adjust_gen0_sizes(size_t* gen0_size_ptr, |
525 size_t* gen1_size_ptr, | 525 size_t* gen1_size_ptr, |
526 const size_t heap_size, | 526 const size_t heap_size) { |
527 const size_t min_gen1_size) { | |
528 bool result = false; | 527 bool result = false; |
529 | 528 |
530 if ((*gen1_size_ptr + *gen0_size_ptr) > heap_size) { | 529 if ((*gen0_size_ptr + *gen1_size_ptr) > heap_size) { |
531 uintx smallest_new_size = young_gen_size_lower_bound(); | 530 uintx smallest_new_size = young_gen_size_lower_bound(); |
532 if ((heap_size < (*gen0_size_ptr + min_gen1_size)) && | 531 if ((heap_size < (*gen0_size_ptr + _min_gen1_size)) && |
533 (heap_size >= min_gen1_size + smallest_new_size)) { | 532 (heap_size >= _min_gen1_size + smallest_new_size)) { |
534 // Adjust gen0 down to accommodate min_gen1_size | 533 // Adjust gen0 down to accommodate _min_gen1_size |
535 *gen0_size_ptr = align_size_down_bounded(heap_size - min_gen1_size, _gen_alignment); | 534 *gen0_size_ptr = align_size_down_bounded(heap_size - _min_gen1_size, _gen_alignment); |
536 assert(*gen0_size_ptr > 0, "Min gen0 is too large"); | |
537 result = true; | 535 result = true; |
538 } else { | 536 } else { |
539 *gen1_size_ptr = align_size_down_bounded(heap_size - *gen0_size_ptr, _gen_alignment); | 537 *gen1_size_ptr = align_size_down_bounded(heap_size - *gen0_size_ptr, _gen_alignment); |
540 } | 538 } |
541 } | 539 } |
592 " -XX:OldSize flag is being ignored", | 590 " -XX:OldSize flag is being ignored", |
593 _max_heap_byte_size); | 591 _max_heap_byte_size); |
594 } | 592 } |
595 // If there is an inconsistency between the OldSize and the minimum and/or | 593 // If there is an inconsistency between the OldSize and the minimum and/or |
596 // initial size of gen0, since OldSize was explicitly set, OldSize wins. | 594 // initial size of gen0, since OldSize was explicitly set, OldSize wins. |
597 if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size, | 595 if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size, _min_heap_byte_size)) { |
598 _min_heap_byte_size, _min_gen1_size)) { | |
599 if (PrintGCDetails && Verbose) { | 596 if (PrintGCDetails && Verbose) { |
600 gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT " Initial gen0 " | 597 gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT " Initial gen0 " |
601 SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, | 598 SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, |
602 _min_gen0_size, _initial_gen0_size, _max_gen0_size); | 599 _min_gen0_size, _initial_gen0_size, _max_gen0_size); |
603 } | 600 } |
604 } | 601 } |
605 // Initial size | 602 // Initial size |
606 if (adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size, | 603 if (adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size, |
607 _initial_heap_byte_size, _initial_gen1_size)) { | 604 _initial_heap_byte_size)) { |
608 if (PrintGCDetails && Verbose) { | 605 if (PrintGCDetails && Verbose) { |
609 gclog_or_tty->print_cr("3: Minimum gen0 " SIZE_FORMAT " Initial gen0 " | 606 gclog_or_tty->print_cr("3: Minimum gen0 " SIZE_FORMAT " Initial gen0 " |
610 SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, | 607 SIZE_FORMAT " Maximum gen0 " SIZE_FORMAT, |
611 _min_gen0_size, _initial_gen0_size, _max_gen0_size); | 608 _min_gen0_size, _initial_gen0_size, _max_gen0_size); |
612 } | 609 } |