On Mon, 8 Dec 2025 05:01:15 GMT, David Holmes <[email protected]> wrote:
>> Thomas Stuefe has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 62 commits: >> >> - Replace Klass::_metadata union with narrowKlass member >> - Ivan: fix various instances of ObjLayout::undefined should assert >> - Ivan: Update src/hotspot/share/oops/instanceKlass.cpp >> >> Co-authored-by: Ivan Walulya <[email protected]> >> - David: reduce diff in ObjectCountEventVerifier.java >> - David: minimize change in GetObjectSizeIntrinsicsTest.java >> - David: minimize diffs in TestZGCWithCDS.java >> - David: minimize diffs for >> runtime/ErrorHandling/TestVMConfigInHsErrFile.java >> - David: revert type change in arguments.cpp >> - David: fix comment in metaspace >> - Merge branch 'master' into JDK-8363996-Obsolete-UseCompressedClassPointers >> - ... and 52 more: https://git.openjdk.org/jdk/compare/ffb6279c...642604ac > > test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java line > 294: > >> 292: } >> 293: >> 294: public static void heapBaseMinAddressTestNoCoop() throws Exception { > > It is not obvious to me why this test case was deleted. Related to the change here: https://github.com/openjdk/jdk/pull/28366/changes#diff-027490ce3f4a92be9b489d9d2e54c7baaea87b7489399b198543c79f1ce1e2e3L1576 This test only worked by accident, and never made sense. `HeapBaseMinAddress`: in `+UseCompressedOops` mode, it forces the heap to this address (arguably, the name is a misnomer); failing that, it will treat it as a low barrier in further reservation attempts. But not always: if we cannot get any preferred address, we will use whatever address the OS gives us, which may be lower than a high value for `HeapBaseMinAddress`. (Writing this now, I think that should be a bug). In `-UseCompressedClassPointers` mode, the flag does nothing. The test always worked because the value of 1M is so low that no OS will accidentally map into that area. --- Note that it's a different question of whether we *should* honor the flag for `-UseCompressedOops +UseCompressedClassPointers`. Could a barrier like that be useful to keep the heap away from low-address regions to increase the chance for a low-address class space? But looking closely, probably not worth it for two reasons: on all 64-bit platforms, the chance of "OS-determined" mappings to hit the low address regions < 32GB is so rare its not worth the complexity. And low-address heap is more useful performance-wise than low-address class space anyway. > test/hotspot/jtreg/runtime/ErrorHandling/TestVMConfigInHsErrFile.java line 59: > >> 57: switch (args[0]) { >> 58: case "coh-on" -> testCompactObjectHeaders(); >> 59: case "coh-off" -> testCompressedClassPointers(); > > You seem to have done a complete test rewrite here and it is not obvious to > me it follows as part of the obsoletion of UCCP. Okay, I reverted most of my changes and kept the diff minimal. The test could be cut down a lot more, though. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/28366#discussion_r2781257967 PR Review Comment: https://git.openjdk.org/jdk/pull/28366#discussion_r2781772213
