hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp
changeset 25355 29c97629997e
parent 24941 4ebbe176a7b1
child 25366 8b8061f353ee
equal deleted inserted replaced
25353:806fe0d44237 25355:29c97629997e
    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) {