8013120: NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check

Fixed NMT to deal with releasing virtual memory region when there are still committed regions within it

Reviewed-by: acorn, coleenp
This commit is contained in:
Zhengyu Gu 2013-05-06 11:15:13 -04:00
parent 79f4c78a72
commit c2330eb6b1
5 changed files with 85 additions and 6 deletions

View file

@ -132,7 +132,7 @@ E* ArrayAllocator<E, F>::allocate(size_t length) {
int alignment = os::vm_allocation_granularity();
_size = align_size_up(_size, alignment);
_addr = os::reserve_memory(_size, NULL, alignment);
_addr = os::reserve_memory(_size, NULL, alignment, F);
if (_addr == NULL) {
vm_exit_out_of_memory(_size, OOM_MMAP_ERROR, "Allocator (reserve)");
}