RFR: 8259368: Zero: UseCompressedClassPointers does not depend on UseCompressedOops

Aleksey Shipilev shade at openjdk.java.net
Thu Jan 7 13:45:15 UTC 2021


JDK-8241825 decoupled `UseCompressedClassPointers` and `UseCompressedOops`, and introduced `COMPRESSED_CLASS_POINTERS_DEPENDS_ON_COMPRESSED_OOPS` that platforms can set to say if their generated code is ready for this decoupling.

Zero defaults to `true` for that flag, meaning the flags are still coupled. But there is not actual coupling: Zero delegates all this work to VM code, which handles everything correctly. This makes at least one test fail with Zero:

$ CONF=linux-x86_64-zero-fastdebug make exploded-test TEST=runtime/CompressedOops/CompressedClassPointers.java
java.lang.RuntimeException: 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
...

Additional testing:
 - [x] Linux x86_64 Zero `runtime/CompressedOops/` tests

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

Commit messages:
 - 8259368: Zero: UseCompressedClassPointers does not depend on UseCompressedOops

Changes: https://git.openjdk.java.net/jdk/pull/1973/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1973&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8259368
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1973.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1973/head:pull/1973

PR: https://git.openjdk.java.net/jdk/pull/1973


More information about the hotspot-compiler-dev mailing list