inline bool os::allocate_stack_guard_pages() { assert(uses_stack_guard_pages(), "sanity check"); #if !defined(__FreeBSD__) || __FreeBSD__ < 5 // Since FreeBSD 4 uses malloc() for allocating the thread stack // there is no need to do anything extra to allocate the guard pages return false; #else // FreeBSD 5+ uses mmap MAP_STACK for allocating the thread stacks. // Must 'allocate' them or guard pages are ignored. return true; #endif }
inline bool os::allocate_stack_guard_pages() { assert(uses_stack_guard_pages(), "sanity check"); int r = thr_main() ; guarantee (r == 0 || r == 1, "CR6501650 or CR6493689") ; return r; }
// Whether or not calling code should/can commit/uncommit stack pages // before guarding them. Answer for AIX is definitly no, because memory // is automatically committed on touch. inline bool os::must_commit_stack_guard_pages() { assert(uses_stack_guard_pages(), "sanity check"); return false; }
inline bool os::allocate_stack_guard_pages() { assert(uses_stack_guard_pages(), "sanity check"); return true; }