8058715: stability issues when being launched as an embedded JVM via JNI
Summary: Use mmap call without MAP_FIXED so we avoid corrupting already allocated memory
Reviewed-by: coleenp, dsimms
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Thu Nov 06 01:31:31 2014 +0000
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Wed Nov 05 23:37:17 2014 -0800
@@ -910,7 +910,7 @@
*/
char* hint = (char*) (Linux::initial_thread_stack_bottom() -
((StackYellowPages + StackRedPages + 1) * page_size));
- char* codebuf = os::reserve_memory(page_size, hint);
+ char* codebuf = os::attempt_reserve_memory_at(page_size, hint);
if ( (codebuf == NULL) || (!os::commit_memory(codebuf, page_size, true)) ) {
return; // No matter, we tried, best effort.
}