JDK-8350753 : Deprecate UseCompressedClassPointers
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-02-26
  • Updated: 2025-07-24
  • Resolved: 2025-04-12
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 25
25 b19Fixed
Related Reports
CSR :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8354105 :  
Description
The uncompressed Klass Pointers mode (-UseCompressedClassPointers) is now very rarely used and offers no benefit, but it is costly, as it wastes memory. 

It also increases the maintenance burden and technical debt - it is yet another object header format requiring code and testing, and with the advent of compact object headers, we now have three of those. Let us deprecate this format with JDK 25, and remove it in a later release.

A removal of -UseCompressedClassPointers would also mean we could get rid of this switch altogether, since the only remaining mode would be +UseCompressedClassPointers.
Comments
[~stuefe] can you please fill in the issue description. Also once approved there should have been a JBS issue created to do the obsoletion in JDK 26. Please do that too. Thanks
24-07-2025

Changeset: 034c0d4d Branch: master Author: Thomas Stuefe <stuefe@openjdk.org> Date: 2025-04-12 05:58:39 +0000 URL: https://git.openjdk.org/jdk/commit/034c0d4de5739bd20d734471b2d9065a0ca387bd
12-04-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24436 Date: 2025-04-04 06:09:16 +0000
04-04-2025