< prev index next >

src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp

Print this page
rev 12307 : 8169373: Work around linux NPTL stack guard error.
Summary: Also streamline OS guard page handling on linuxs390, linuxppc, aixppc.
rev 12308 : imported patch new_os_guard_for_java_thread.patch

@@ -533,15 +533,15 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // thread stack
 
-// These sizes exclude OS stack guard pages, but include
-// the VM guard pages.
-size_t os::Posix::_compiler_thread_min_stack_allowed = 128 * K;
-size_t os::Posix::_java_thread_min_stack_allowed = 128 * K;
-size_t os::Posix::_vm_internal_thread_min_stack_allowed = 128 * K;
+// Minimum usable stack sizes required to get to user code. Space for VM
+// guard pages is added later.
+size_t os::Posix::_compiler_thread_min_stack_allowed = 192 * K;
+size_t os::Posix::_java_thread_min_stack_allowed = 64 * K;
+size_t os::Posix::_vm_internal_thread_min_stack_allowed = 64 * K;
 
 // Return default stack size for thr_type.
 size_t os::Posix::default_stack_size(os::ThreadType thr_type) {
   // Default stack size (compiler thread needs larger stack).
   size_t s = (thr_type == os::compiler_thread ? 4 * M : 1 * M);

@@ -555,11 +555,11 @@
   // Aix can have different page sizes for stack (4K) and heap (64K).
   // As Hotspot knows only one page size, we assume the stack has 
   // the same page size as the heap. Returning page_size() here can
   // cause 16 guard pages which we want to avoid.  Thus we return 4K
   // which will be rounded to the real page size by the OS.
-  return (thr_type == java_thread ? 0 : 4*K);
+  return ((thr_type == java_thread || thr_type == os::compiler_thread) ? 0 : 4*K);
 }
 
 /////////////////////////////////////////////////////////////////////////////
 // helper functions for fatal error handler
 
< prev index next >