mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking. Reviewed-by: zgu, stefank, dholmes, dsamersoff
This commit is contained in:
parent
718f3252f6
commit
72a51a0c44
18 changed files with 357 additions and 80 deletions
|
@ -146,10 +146,7 @@ E* ArrayAllocator<E, F>::allocate(size_t length) {
|
|||
vm_exit_out_of_memory(_size, OOM_MMAP_ERROR, "Allocator (reserve)");
|
||||
}
|
||||
|
||||
bool success = os::commit_memory(_addr, _size, false /* executable */);
|
||||
if (!success) {
|
||||
vm_exit_out_of_memory(_size, OOM_MMAP_ERROR, "Allocator (commit)");
|
||||
}
|
||||
os::commit_memory_or_exit(_addr, _size, !ExecMem, "Allocator (commit)");
|
||||
|
||||
return (E*)_addr;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue