8013938: Native OOME on fastdebug VM on Solaris

Reviewed-by: azeemj, brutisso, kvn, tschatzl
This commit is contained in:
Jon Masamitsu 2013-09-04 11:41:17 -07:00
parent 6d7626dba4
commit 451ff188a0
3 changed files with 1 additions and 16 deletions

View file

@ -44,6 +44,6 @@ define_pd_global(uintx,JVMInvokeMethodSlack, 10*K);
define_pd_global(intx, CompilerThreadStackSize, 0); define_pd_global(intx, CompilerThreadStackSize, 0);
// Used on 64 bit platforms for UseCompressedOops base address // 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 #endif // OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP

View file

@ -1605,17 +1605,6 @@ julong Arguments::limit_by_allocatable_memory(julong limit) {
return result; 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() { void Arguments::set_heap_size() {
if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) { if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) {
// Deprecated flag // Deprecated flag
@ -3537,8 +3526,6 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
} }
} }
set_heap_base_min_address();
// Set heap size based on available physical memory // Set heap size based on available physical memory
set_heap_size(); set_heap_size();

View file

@ -315,8 +315,6 @@ class Arguments : AllStatic {
// limits the given memory size by the maximum amount of memory this process is // limits the given memory size by the maximum amount of memory this process is
// currently allowed to allocate or reserve. // currently allowed to allocate or reserve.
static julong limit_by_allocatable_memory(julong size); static julong limit_by_allocatable_memory(julong size);
// Setup HeapBaseMinAddress
static void set_heap_base_min_address();
// Setup heap size // Setup heap size
static void set_heap_size(); static void set_heap_size();
// Based on automatic selection criteria, should the // Based on automatic selection criteria, should the