-
Bug
-
Resolution: Unresolved
-
P4
-
repo-leyden
Since the following version, UseCompatibleCompressedOops is disabled
https://github.com/openjdk/leyden/blob/478f86f9cd6df6b92c037c83d0540b9c5fe97e5c/src/hotspot/share/cds/cdsConfig.cpp#L478
#ifdef _LP64
// FLAG_SET_ERGO_IF_DEFAULT(UseCompatibleCompressedOops, true); // FIXME @iklam - merge with mainline - UseCompatibleCompressedOops
#endif
I changed the above line when merging mainline into premain:
[1] A lot of code were removed (or moved??) in the mainline as part ofJDK-8345655:
https://github.com/openjdk/leyden/commit/73b5dbaec340b3e8c958d63f510df92ec621c04e#diff-b933a6f48f03a3b4336d8567621c475b93efbe7dfac762dfc3b65f7567577dc9
But premain had changes in these lines that test for UseCompatibleCompressedOops
https://github.com/openjdk/leyden/blame/cc111760a0dd123935e039feb19eaac742f865b2/src/hotspot/share/memory/virtualspace.cpp#L534
We need to move the UseCompatibleCompressedOops checks followingJDK-8345655
[2] The following assert is triggered when UseCompatibleCompressedOops==true
https://github.com/openjdk/leyden/blob/478f86f9cd6df6b92c037c83d0540b9c5fe97e5c/src/hotspot/share/oops/compressedOops.cpp#L89
assert((intptr_t)base() <= ((intptr_t)_heap_address_range.start() - (intptr_t)os::vm_page_size()) ||
base() == nullptr, "invalid value");
https://github.com/openjdk/leyden/blob/478f86f9cd6df6b92c037c83d0540b9c5fe97e5c/src/hotspot/share/cds/cdsConfig.cpp#L478
#ifdef _LP64
// FLAG_SET_ERGO_IF_DEFAULT(UseCompatibleCompressedOops, true); // FIXME @iklam - merge with mainline - UseCompatibleCompressedOops
#endif
I changed the above line when merging mainline into premain:
[1] A lot of code were removed (or moved??) in the mainline as part of
https://github.com/openjdk/leyden/commit/73b5dbaec340b3e8c958d63f510df92ec621c04e#diff-b933a6f48f03a3b4336d8567621c475b93efbe7dfac762dfc3b65f7567577dc9
But premain had changes in these lines that test for UseCompatibleCompressedOops
https://github.com/openjdk/leyden/blame/cc111760a0dd123935e039feb19eaac742f865b2/src/hotspot/share/memory/virtualspace.cpp#L534
We need to move the UseCompatibleCompressedOops checks following
[2] The following assert is triggered when UseCompatibleCompressedOops==true
https://github.com/openjdk/leyden/blob/478f86f9cd6df6b92c037c83d0540b9c5fe97e5c/src/hotspot/share/oops/compressedOops.cpp#L89
assert((intptr_t)base() <= ((intptr_t)_heap_address_range.start() - (intptr_t)os::vm_page_size()) ||
base() == nullptr, "invalid value");