src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp

changeset 7778
c2ce24504334
parent 6094
ee527493b36d
child 7780
5788dbd1f2d6
equal deleted inserted replaced
7777:340ca8812af9 7778: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) {

mercurial