comparison src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp @ 22974:c2ce24504334

8049864: TestParallelHeapSizeFlags fails with unexpected heap size Reviewed-by: sjohanss, jmasa
author ehelin
date Tue, 24 Jun 2014 15:50:50 +0200
parents ee527493b36d
children 5788dbd1f2d6
comparison
equal deleted inserted replaced
22973:340ca8812af9 22974:c2ce24504334
64 } 64 }
65 } 65 }
66 66
67 void GenerationSizer::initialize_size_info() { 67 void GenerationSizer::initialize_size_info() {
68 trace_gen_sizes("ps heap raw"); 68 trace_gen_sizes("ps heap raw");
69 const size_t page_sz = os::page_size_for_region(_min_heap_byte_size, 69 const size_t max_page_sz = os::page_size_for_region(_max_heap_byte_size, 8);
70 _max_heap_byte_size, 70 const size_t min_pages = 4; // 1 for eden + 1 for each survivor + 1 for old
71 8); 71 const size_t min_page_sz = os::page_size_for_region(_min_heap_byte_size, min_pages);
72 const size_t page_sz = MIN2(max_page_sz, min_page_sz);
72 73
73 // Can a page size be something else than a power of two? 74 // Can a page size be something else than a power of two?
74 assert(is_power_of_2((intptr_t)page_sz), "must be a power of 2"); 75 assert(is_power_of_2((intptr_t)page_sz), "must be a power of 2");
75 size_t new_alignment = round_to(page_sz, _gen_alignment); 76 size_t new_alignment = round_to(page_sz, _gen_alignment);
76 if (new_alignment != _gen_alignment) { 77 if (new_alignment != _gen_alignment) {