RFR: JDK-8311870: Split CompressedKlassPointers from compressedOops.hpp

Thomas Stuefe stuefe at openjdk.org
Tue Jul 11 13:51:45 UTC 2023


In preparation for some Lilliput-related changes, I'd like to get some purely mechanical code moves out of the way. It would also improve separation of concerns and reduces include header bloat.

In particular, this patch does:

1) Move `CompressedKlassPointers` from `compressedOops.(cpp|hpp|inline.hpp)` to `compressedKlass.(cpp|hpp|inline.hpp)`

2) flatten the `NarrowPtrStruct _narrow_klass` to `address _base; int _shift` (its implicit null check member is not needed for Klass and it has little merit otherwise).

3) moved `narrowKlass` from `oopsHierarchy.hpp` to `compressedKlass.hpp`

4) remove `KlassAlignment` and `LogKlassAlignment` (the word-sized variants, not xxxInBytes) since they are unused

5) Move `KlassEncodingMetaspaceMax`, `LogKlassAlignmentInBytes` and `KlassAlignmentInBytes` to compressedKlass.hpp

6) Fixed all include issues (including existing missing includes)

7) Fixed VM struct because of (2)

Note that nothing functional is changed.

-------------

Commit messages:
 - JDK-8311870-Split-CompressedKlassPointers-from-compressedOops.hpp

Changes: https://git.openjdk.org/jdk/pull/14826/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14826&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311870
  Stats: 565 lines in 35 files changed: 333 ins; 220 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/14826.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14826/head:pull/14826

PR: https://git.openjdk.org/jdk/pull/14826


More information about the serviceability-dev mailing list