< prev index next >

src/hotspot/share/services/diagnosticCommand.hpp

Print this page

317   DCmdArgument<bool> _print_interfaces; // true if inherited interfaces should be printed.
318   DCmdArgument<bool> _print_subclasses; // true if subclasses of the specified classname should be printed.
319   DCmdArgument<char*> _classname; // Optional single class name whose hierarchy should be printed.
320 public:
321   static int num_arguments() { return 3; }
322   ClassHierarchyDCmd(outputStream* output, bool heap);
323   static const char* name() {
324     return "VM.class_hierarchy";
325   }
326   static const char* description() {
327     return "Print a list of all loaded classes, indented to show the class hierarchy. "
328            "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
329            "or \"null\" if loaded by the bootstrap class loader.";
330   }
331   static const char* impact() {
332       return "Medium: Depends on number of loaded classes.";
333   }
334   virtual void execute(DCmdSource source, TRAPS);
335 };
336 




















337 #if INCLUDE_CDS
338 class AOTEndRecordingDCmd : public DCmd {
339 public:
340   AOTEndRecordingDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
341     static const char* name() { return "AOT.end_recording"; }
342     static const char* description() {
343       return "End AOT recording.";
344     }
345     static const char* impact() {
346       return "Medium: Pause time depends on number of loaded classes";
347     }
348     virtual void execute(DCmdSource source, TRAPS);
349 };
350 #endif // INCLUDE_CDS
351 
352 #if INCLUDE_CDS
353 class DumpSharedArchiveDCmd: public DCmdWithParser {
354 protected:
355   DCmdArgument<char*> _suboption;   // option of VM.cds
356   DCmdArgument<char*> _filename;    // file name, optional

317   DCmdArgument<bool> _print_interfaces; // true if inherited interfaces should be printed.
318   DCmdArgument<bool> _print_subclasses; // true if subclasses of the specified classname should be printed.
319   DCmdArgument<char*> _classname; // Optional single class name whose hierarchy should be printed.
320 public:
321   static int num_arguments() { return 3; }
322   ClassHierarchyDCmd(outputStream* output, bool heap);
323   static const char* name() {
324     return "VM.class_hierarchy";
325   }
326   static const char* description() {
327     return "Print a list of all loaded classes, indented to show the class hierarchy. "
328            "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
329            "or \"null\" if loaded by the bootstrap class loader.";
330   }
331   static const char* impact() {
332       return "Medium: Depends on number of loaded classes.";
333   }
334   virtual void execute(DCmdSource source, TRAPS);
335 };
336 
337 class PrintClassLayoutDCmd : public DCmdWithParser {
338 protected:
339   DCmdArgument<char*> _classname; // lass name whose layout should be printed.
340 public:
341   PrintClassLayoutDCmd(outputStream* output, bool heap);
342   static const char* name() {
343     return "VM.class_print_layout";
344   }
345   static const char* description() {
346     return "Print the layout of an instance of a class, including flat fields. "
347            "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
348            "or \"null\" if loaded by the bootstrap class loader.";
349   }
350   static const char* impact() {
351       return "Medium: Depends on number of loaded classes.";
352   }
353   static int num_arguments();
354   virtual void execute(DCmdSource source, TRAPS);
355 };
356 
357 #if INCLUDE_CDS
358 class AOTEndRecordingDCmd : public DCmd {
359 public:
360   AOTEndRecordingDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
361     static const char* name() { return "AOT.end_recording"; }
362     static const char* description() {
363       return "End AOT recording.";
364     }
365     static const char* impact() {
366       return "Medium: Pause time depends on number of loaded classes";
367     }
368     virtual void execute(DCmdSource source, TRAPS);
369 };
370 #endif // INCLUDE_CDS
371 
372 #if INCLUDE_CDS
373 class DumpSharedArchiveDCmd: public DCmdWithParser {
374 protected:
375   DCmdArgument<char*> _suboption;   // option of VM.cds
376   DCmdArgument<char*> _filename;    // file name, optional
< prev index next >