JDK-8133984 : print_compressed_class_space() is only defined in 64-bit VM
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2015-08-19
  • Updated: 2019-03-19
  • Resolved: 2015-08-20
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 8 JDK 9 Other
8u211Fixed 9 b81Fixed openjdk8u212Fixed
Description
print_compressed_class_space() body is defined under #ifdef _LP64 in metaspace.cpp but it is declared for all platforms in metaspace.hpp.

Suggested fix:

-  static void print_compressed_class_space(outputStream* st, const char* requested_addr = 0);
+  static void print_compressed_class_space(outputStream* st, const char* requested_addr = 0) NOT_LP64({});

Comments
Note the call Metaspace::print_compressed_class_space(st) in vmError.cpp is not guarded by #ifdef _LP64. So some C++ compilers complain.
19-08-2015