# HG changeset patch # User shade # Date 1528742430 -7200 # Node ID 24339b23a56be36aaa248ad37862c8b48eb760ba # Parent a846e7bbcdfa9421171ad6ced13eb97075c1e6cc Handle Windows and os::vm_allocation_granularity() diff -r a846e7bbcdfa -r 24339b23a56b src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp --- a/src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp Mon Jun 11 09:29:44 2018 +0200 +++ b/src/hotspot/share/gc/epsilon/epsilonCollectorPolicy.hpp Mon Jun 11 20:40:30 2018 +0200 @@ -30,8 +30,9 @@ protected: virtual void initialize_alignments() { size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size(); - _space_alignment = page_size; - _heap_alignment = page_size; + size_t align = MAX2((size_t)os::vm_allocation_granularity(), page_size); + _space_alignment = align; + _heap_alignment = align; } public: diff -r a846e7bbcdfa -r 24339b23a56b src/hotspot/share/gc/epsilon/epsilonHeap.cpp --- a/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Mon Jun 11 09:29:44 2018 +0200 +++ b/src/hotspot/share/gc/epsilon/epsilonHeap.cpp Mon Jun 11 20:40:30 2018 +0200 @@ -30,11 +30,12 @@ #include "memory/resourceArea.hpp" jint EpsilonHeap::initialize() { - size_t init_byte_size = _policy->initial_heap_byte_size(); - size_t max_byte_size = _policy->max_heap_byte_size(); + size_t align = _policy->heap_alignment(); + size_t init_byte_size = align_up(_policy->initial_heap_byte_size(), align); + size_t max_byte_size = align_up(_policy->max_heap_byte_size(), align); // Initialize backing storage - ReservedSpace heap_rs = Universe::reserve_heap(max_byte_size, _policy->heap_alignment()); + ReservedSpace heap_rs = Universe::reserve_heap(max_byte_size, align); _virtual_space.initialize(heap_rs, init_byte_size); MemRegion committed_region((HeapWord*)_virtual_space.low(), (HeapWord*)_virtual_space.high());