JEP 228: Add More Diagnostic Commands
Summary
Define additional diagnostic commands, in order to improve the diagnosability of Hotspot and the JDK.
Description
This is a list of the new commands (exact names are TBD):
print_class_summary
- Print a list of all loaded classes and their inheritence structure.
- Responsible group: runtime
print_codegenlist
- Print methods queued for compilation with either C1 or C2 (separate queues)
- Responsible group: compiler
print_utf8pool
- Print all UTF-8 string constants.
- Responsible group: runtime
datadump_request
- Signal the JVM to do a data-dump request for JVMTI.
- Responsible group: serviceability
dump_codelist
- Print n-methods (compiled) with full signature, address range, and state (alive, nonentrant, and zombie).
- Allow selection of printing to stdout or to a file.
- Allow XML or text printout.
- Responsible group: compiler
print_codeblocks
- Print the size of the code cache and a list of blocks in the code cache, with adresses.
- Responsible group: compiler
set_vmflag
- Set a command-line flag/option in VM or the libraries.
- Responsible group: servicability
Testing
There needs to be a test for each command to verify the output.