Mercurial > hg > truffle
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 |