comparison src/share/vm/memory/collectorPolicy.cpp @ 13058:3aee6bc29547

8026852: Use restricted_align_down in collector policy code Summary: Moved restricted_align_down to globalDefinitions and renamed it align_size_down_bounded Reviewed-by: stefank, mgerdin, tschatzl
author jwilhelm
date Mon, 21 Oct 2013 18:52:13 +0200
parents 4288e54fd145
children 46d7652b223c
comparison
equal deleted inserted replaced
13057:4288e54fd145 13058:3aee6bc29547
144 } 144 }
145 145
146 // GenCollectorPolicy methods. 146 // GenCollectorPolicy methods.
147 147
148 size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) { 148 size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) {
149 size_t x = base_size / (NewRatio+1); 149 return align_size_down_bounded(base_size / (NewRatio + 1), _min_alignment);
150 size_t new_gen_size = x > _min_alignment ?
151 align_size_down(x, _min_alignment) :
152 _min_alignment;
153 return new_gen_size;
154 } 150 }
155 151
156 size_t GenCollectorPolicy::bound_minus_alignment(size_t desired_size, 152 size_t GenCollectorPolicy::bound_minus_alignment(size_t desired_size,
157 size_t maximum_size) { 153 size_t maximum_size) {
158 size_t alignment = _min_alignment; 154 size_t alignment = _min_alignment;
408 404
409 if ((*gen1_size_ptr + *gen0_size_ptr) > heap_size) { 405 if ((*gen1_size_ptr + *gen0_size_ptr) > heap_size) {
410 if ((heap_size < (*gen0_size_ptr + min_gen1_size)) && 406 if ((heap_size < (*gen0_size_ptr + min_gen1_size)) &&
411 (heap_size >= min_gen1_size + _min_alignment)) { 407 (heap_size >= min_gen1_size + _min_alignment)) {
412 // Adjust gen0 down to accommodate min_gen1_size 408 // Adjust gen0 down to accommodate min_gen1_size
413 *gen0_size_ptr = heap_size - min_gen1_size; 409 *gen0_size_ptr = align_size_down_bounded(heap_size - min_gen1_size, _min_alignment);
414 *gen0_size_ptr =
415 MAX2((uintx)align_size_down(*gen0_size_ptr, _min_alignment), _min_alignment);
416 assert(*gen0_size_ptr > 0, "Min gen0 is too large"); 410 assert(*gen0_size_ptr > 0, "Min gen0 is too large");
417 result = true; 411 result = true;
418 } else { 412 } else {
419 *gen1_size_ptr = heap_size - *gen0_size_ptr; 413 *gen1_size_ptr = align_size_down_bounded(heap_size - *gen0_size_ptr, _min_alignment);
420 *gen1_size_ptr =
421 MAX2((uintx)align_size_down(*gen1_size_ptr, _min_alignment), _min_alignment);
422 } 414 }
423 } 415 }
424 return result; 416 return result;
425 } 417 }
426 418