< prev index next >
src/os_cpu/linux_s390/vm/os_linux_s390.cpp
Print this page
rev 12283 : 8169373: Work around linux NPTL stack guard error.
Summary: Also streamline OS guard page handling on linuxs390, linuxppc, aixppc.
*** 464,488 ****
}
////////////////////////////////////////////////////////////////////////////////
// thread stack
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;
! // 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 : 1024 * K);
return s;
}
size_t os::Linux::default_guard_size(os::ThreadType thr_type) {
! // z/Architecture: put 2 guard pages right in the middle of thread stack. This value
! // should be consistent with the value used by register stack handling code.
! return 2 * page_size();
}
// Java thread:
//
// Low memory addresses
--- 464,490 ----
}
////////////////////////////////////////////////////////////////////////////////
// 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;
! // 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 : 1024 * K);
return s;
}
size_t os::Linux::default_guard_size(os::ThreadType thr_type) {
! // Creating guard page is very expensive. Java thread has HotSpot
! // guard page, only enable glibc guard page for non-Java threads.
! return (thr_type == java_thread ? 0 : page_size());
}
// Java thread:
//
// Low memory addresses
< prev index next >