< prev index next > src/hotspot/share/services/diagnosticCommand.hpp
Print this page
return p;
}
virtual void execute(DCmdSource source, TRAPS);
};
+ class PrintClassLayoutDCmd : public DCmdWithParser {
+ protected:
+ DCmdArgument<char*> _classname; // lass name whose layout should be printed.
+ public:
+ PrintClassLayoutDCmd(outputStream* output, bool heap);
+ static const char* name() {
+ return "VM.class_print_layout";
+ }
+ static const char* description() {
+ return "Print the layout of an instance of a class, including flat fields. "
+ "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
+ "or \"null\" if loaded by the bootstrap class loader.";
+ }
+ static const char* impact() {
+ return "Medium: Depends on number of loaded classes.";
+ }
+ static const JavaPermission permission() {
+ JavaPermission p = {"java.lang.management.ManagementPermission",
+ "monitor", nullptr};
+ return p;
+ }
+ static int num_arguments();
+ virtual void execute(DCmdSource source, TRAPS);
+ };
+
#if INCLUDE_CDS
class DumpSharedArchiveDCmd: public DCmdWithParser {
protected:
DCmdArgument<char*> _suboption; // option of VM.cds
DCmdArgument<char*> _filename; // file name, optional
< prev index next >