JDK-8232759 : Remove GC.class_stats
  • Type: Enhancement
  • Component: core-svc
  • Sub-Component: tools
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-10-22
  • Updated: 2020-01-24
  • Resolved: 2020-01-09
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 15
15 b06Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
I wrote GC.class_stats as a way to understand the composition of the class metadata. The hope was that we can use this information to reduce the metadata size, or rearrange them to increase the read-only ratio of metadata in CDS archives.

However, in reality probably no one (including me) has used this information for a long time. The code is being bit-rotted (see JDK-8232758) and becomes a hassle when adding new MetaspaceObj classes/fields.

We should consider simplifying the implementation (by using <T>::metaspace_pointers_do), or simply removing it.



Comments
URL: https://hg.openjdk.java.net/jdk/jdk/rev/d8f6e926cedc User: coleenp Date: 2020-01-09 22:38:57 +0000
09-01-2020

Originally added by this changeset: $ hg log -v -r 15437 changeset: 15437:eabd4555d072 parent: 15431:570c5062ab8a user: acorn date: Fri Jan 25 15:06:18 2013 -0500 files: hotspot/src/share/vm/classfile/classLoaderData.cpp hotspot/src/share/vm/classfile/classLoaderData.hpp hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp hotspot/src/share/vm/memory/heapInspection.cpp hotspot/src/share/vm/memory/heapInspection.hpp hotspot/src/share/vm/oops/annotations.cpp hotspot/src/share/vm/oops/annotations.hpp hotspot/src/share/vm/oops/arrayKlass.hpp hotspot/src/share/vm/oops/constMethod.cpp hotspot/src/share/vm/oops/constMethod.hpp hotspot/src/share/vm/oops/constantPool.cpp hotspot/src/share/vm/oops/constantPool.hpp hotspot/src/share/vm/oops/instanceKlass.cpp hotspot/src/share/vm/oops/instanceKlass.hpp hotspot/src/share/vm/oops/klass.cpp hotspot/src/share/vm/oops/klass.hpp hotspot/src/share/vm/oops/method.cpp hotspot/src/share/vm/oops/method.hpp hotspot/src/share/vm/oops/methodData.cpp hotspot/src/share/vm/oops/methodData.hpp hotspot/src/share/vm/services/diagnosticCommand.cpp hotspot/src/share/vm/services/diagnosticCommand.hpp description: 6479360: PrintClassHistogram improvements Summary: jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions) Reviewed-by: coleenp, hseigel, sla, acorn Contributed-by: ioi.lam@oracle.com
04-12-2019