mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-10 23:18:45 +00:00
Merge
This commit is contained in:
commit
b69ce81b11
@ -908,6 +908,12 @@ static void current_stack_region(address * bottom, size_t * size) {
|
||||
// workaround for OS X 10.9.0 (Mavericks)
|
||||
// pthread_get_stacksize_np returns 128 pages even though the actual size is 2048 pages
|
||||
if (pthread_main_np() == 1) {
|
||||
// At least on Mac OS 10.12 we have observed stack sizes not aligned
|
||||
// to pages boundaries. This can be provoked by e.g. setrlimit() (ulimit -s xxxx in the
|
||||
// shell). Apparently Mac OS actually rounds upwards to next multiple of page size,
|
||||
// however, we round downwards here to be on the safe side.
|
||||
*size = align_down(*size, getpagesize());
|
||||
|
||||
if ((*size) < (DEFAULT_MAIN_THREAD_STACK_PAGES * (size_t)getpagesize())) {
|
||||
char kern_osrelease[256];
|
||||
size_t kern_osrelease_size = sizeof(kern_osrelease);
|
||||
|
||||
@ -2514,6 +2514,9 @@ void JavaThread::create_stack_guard_pages() {
|
||||
address low_addr = stack_end();
|
||||
size_t len = stack_guard_zone_size();
|
||||
|
||||
assert(is_aligned(low_addr, os::vm_page_size()), "Stack base should be the start of a page");
|
||||
assert(is_aligned(len, os::vm_page_size()), "Stack size should be a multiple of page size");
|
||||
|
||||
int must_commit = os::must_commit_stack_guard_pages();
|
||||
// warning("Guarding at " PTR_FORMAT " for len " SIZE_FORMAT "\n", low_addr, len);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user