comparison src/os/solaris/vm/os_solaris.cpp @ 12110:4c84d351cca9

8007074: SIGSEGV at ParMarkBitMap::verify_clear() Summary: Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages. Reviewed-by: tschatzl, dcubed, brutisso
author stefank
date Fri, 16 Aug 2013 13:22:32 +0200
parents ec173c8f3739
children 40136aa2cdb1 e2722a66aba7
comparison
equal deleted inserted replaced
12108:badf4244ceae 12110:4c84d351cca9
3383 return false; 3383 return false;
3384 } 3384 }
3385 return true; 3385 return true;
3386 } 3386 }
3387 3387
3388 char* os::reserve_memory_special(size_t size, char* addr, bool exec) { 3388 char* os::reserve_memory_special(size_t size, size_t alignment, char* addr, bool exec) {
3389 fatal("os::reserve_memory_special should not be called on Solaris."); 3389 fatal("os::reserve_memory_special should not be called on Solaris.");
3390 return NULL; 3390 return NULL;
3391 } 3391 }
3392 3392
3393 bool os::release_memory_special(char* base, size_t bytes) { 3393 bool os::release_memory_special(char* base, size_t bytes) {
6599 return 0; 6599 return 0;
6600 } 6600 }
6601 6601
6602 return strlen(buffer); 6602 return strlen(buffer);
6603 } 6603 }
6604
6605 #ifndef PRODUCT
6606 void TestReserveMemorySpecial_test() {
6607 // No tests available for this platform
6608 }
6609 #endif