< prev index next >
src/share/vm/memory/filemap.cpp
Print this page
*** 705,714 ****
--- 705,716 ----
char* addr = (char*)string_ranges[i].start();
char* base = os::map_memory(_fd, _full_path, si->_file_offset,
addr, string_ranges[i].byte_size(), si->_read_only,
si->_allow_exec);
if (base == NULL || base != addr) {
+ // free the archived region from java heap
+ G1CollectedHeap::heap()->free_archive_regions(string_ranges, num_ranges);
fail_continue("Unable to map shared string space at required address.");
return false;
}
}
< prev index next >