Mercurial > hg > truffle
diff src/share/vm/runtime/arguments.cpp @ 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 | c07dd9be16e8 |
children | b88209cf98c0 |
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();