JDK-8259368 : Zero: UseCompressedClassPointers does not depend on UseCompressedOops
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16,17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-01-07
  • Updated: 2021-03-02
  • Resolved: 2021-01-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17
17 b05Fixed
Related Reports
Relates :  
Relates :  
Description
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:

runtime/CompressedOops/CompressedClassPointers.java
java.lang.RuntimeException: 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr 

Comments
Changeset: 18a37f94 Author: Aleksey Shipilev <shade@openjdk.org> Date: 2021-01-11 09:43:18 +0000 URL: https://git.openjdk.java.net/jdk/commit/18a37f94
11-01-2021