RFR: 8347830: [premain] UseCompatibleCompressedOops is broken after merging with mainline

Vladimir Kozlov kvn at openjdk.org
Fri May 16 02:38:46 UTC 2025


The issue was that we did not allocate space "noaccess prefix" before heap for read-only page when we setup type of encoding  with `UseCompatibleCompressedOops` flag. I update code which reserves heap for compressed oops to take into account this flag.

An other issue was that `UseCompatibleCompressedOops` flag was set during CDS arguments consistency checkup. But `UseCompressedOops` flag is set by GC ergonomics. I moved code to CDS ergonomics setting method.

During testing I hit assert that AOT code address table is missing some code blob address. But it was actually card table base address which pointed inside CodeCache. I added special case to check for it early.

Tested premain-tier1.

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

Commit messages:
 - 8347830: [premain] UseCompatibleCompressedOops is broken after merging with mainline

Changes: https://git.openjdk.org/leyden/pull/67/files
  Webrev: https://webrevs.openjdk.org/?repo=leyden&pr=67&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8347830
  Stats: 62 lines in 3 files changed: 40 ins; 16 del; 6 mod
  Patch: https://git.openjdk.org/leyden/pull/67.diff
  Fetch: git fetch https://git.openjdk.org/leyden.git pull/67/head:pull/67

PR: https://git.openjdk.org/leyden/pull/67


More information about the leyden-dev mailing list