< prev index next >

src/hotspot/share/services/diagnosticCommand.hpp

Print this page

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




















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

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