# HG changeset patch # User jmasa # Date 1378320077 25200 # Node ID a701c16e8bbfc82e80528d67ce3281dc774e218b # Parent 84683e78e7130166d7251f37f33c51cb1767fb05 8013938: Native OOME on fastdebug VM on Solaris Reviewed-by: azeemj, brutisso, kvn, tschatzl diff -r 84683e78e713 -r a701c16e8bbf src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp --- a/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Fri Aug 30 07:31:47 2013 +0200 +++ b/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Wed Sep 04 11:41:17 2013 -0700 @@ -44,6 +44,6 @@ define_pd_global(intx, CompilerThreadStackSize, 0); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx,HeapBaseMinAddress, 256*M); +define_pd_global(uintx,HeapBaseMinAddress, 2*G); #endif // OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP diff -r 84683e78e713 -r a701c16e8bbf src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Fri Aug 30 07:31:47 2013 +0200 +++ b/src/share/vm/runtime/arguments.cpp Wed Sep 04 11:41:17 2013 -0700 @@ -1605,17 +1605,6 @@ 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. - // Use FLAG_SET_DEFAULT here rather than FLAG_SET_ERGO to make sure that - // code that checks for default values work correctly. - FLAG_SET_DEFAULT(HeapBaseMinAddress, 1*G); - } -} - void Arguments::set_heap_size() { if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) { // Deprecated flag @@ -3537,8 +3526,6 @@ } } - set_heap_base_min_address(); - // Set heap size based on available physical memory set_heap_size(); diff -r 84683e78e713 -r a701c16e8bbf src/share/vm/runtime/arguments.hpp --- a/src/share/vm/runtime/arguments.hpp Fri Aug 30 07:31:47 2013 +0200 +++ b/src/share/vm/runtime/arguments.hpp Wed Sep 04 11:41:17 2013 -0700 @@ -315,8 +315,6 @@ // 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