8247522: assert(is_aligned(class_space_rs.base(), class_space_alignment)) failed: Sanity

Co-authored-by: Thomas Stuefe <thomas.stuefe@gmail.com>
Reviewed-by: stuefe, iklam
This commit is contained in:
Jie Fu 2020-06-13 23:10:26 +08:00 committed by Jie Fu
parent e3b04bc135
commit ca85c5ab15
3 changed files with 5 additions and 3 deletions

View File

@ -2502,8 +2502,8 @@ char* MetaspaceShared::reserve_address_space_for_archives(FileMapInfo* static_ma
"CompressedClassSpaceSize malformed: "
SIZE_FORMAT, CompressedClassSpaceSize);
const size_t ccs_begin_offset = align_up(archive_space_size,
class_space_alignment);
const size_t ccs_begin_offset = align_up(base_address + archive_space_size,
class_space_alignment) - base_address;
const size_t gap_size = ccs_begin_offset - archive_space_size;
const size_t total_range_size =

View File

@ -41,6 +41,7 @@ public class SharedBaseAddress {
"1g", "8g", "64g","512g", "4t",
"32t", "128t", "0",
"1", "64k", "64M",
"0x800001000", // Default base address + 1 page - probably valid but unaligned to metaspace alignment, see JDK 8247522
"0xfffffffffff00000", // archive top wraps around 64-bit address space
"0xfff80000", // archive top wraps around 32-bit address space
"0xffffffffffffffff", // archive bottom wraps around 64-bit address space -- due to align_up()

View File

@ -41,7 +41,8 @@ public class SharedBaseAddress {
private static final String[] testTable = {
"1g", "8g", "64g","512g", "4t",
"32t", "128t", "0",
"1", "64k", "64M", "320g"
"1", "64k", "64M", "320g",
"0x800001000" // Default base address + 1 page - probably valid but unaligned to metaspace alignment, see JDK 8247522
};
public static void main(String[] args) throws Exception {