Mercurial > hg > graal-compiler
changeset 10990:0abfeed51c9e
8012265: VM often crashes on solaris with a lot of memory
Summary: Increase HeapBaseMinAddress for G1 from 256m to 1g on Solaris x86
Reviewed-by: mgerdin, coleenp, kvn
author | brutisso |
---|---|
date | Fri, 14 Jun 2013 08:02:32 +0200 |
parents | f9709e27a876 |
children | 01522ca68fc7 |
files | src/share/vm/runtime/arguments.cpp src/share/vm/runtime/arguments.hpp |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Fri Jun 14 07:27:22 2013 -0700 +++ b/src/share/vm/runtime/arguments.cpp Fri Jun 14 08:02:32 2013 +0200 @@ -1566,6 +1566,15 @@ return result; } +void Arguments::set_heap_base_min_address() { + if (FLAG_IS_DEFAULT(HeapBaseMinAddress) && UseG1GC && HeapBaseMinAddress < 1*G) { + // By default HeapBaseMinAddress is 2G on all platforms except Solaris x86. + // G1 currently needs a lot of C-heap, so on Solaris we have to give G1 + // some extra space for the C-heap compared to other collectors. + FLAG_SET_ERGO(uintx, HeapBaseMinAddress, 1*G); + } +} + void Arguments::set_heap_size() { if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) { // Deprecated flag @@ -3525,6 +3534,8 @@ } } + set_heap_base_min_address(); + // Set heap size based on available physical memory set_heap_size();
--- a/src/share/vm/runtime/arguments.hpp Fri Jun 14 07:27:22 2013 -0700 +++ b/src/share/vm/runtime/arguments.hpp Fri Jun 14 08:02:32 2013 +0200 @@ -315,6 +315,8 @@ // limits the given memory size by the maximum amount of memory this process is // currently allowed to allocate or reserve. static julong limit_by_allocatable_memory(julong size); + // Setup HeapBaseMinAddress + static void set_heap_base_min_address(); // Setup heap size static void set_heap_size(); // Based on automatic selection criteria, should the