< 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 DumpSharedArchiveDCmd: public DCmdWithParser {
330 protected:
331   DCmdArgument<char*> _suboption;   // option of VM.cds
332   DCmdArgument<char*> _filename;    // file name, optional
333 public:
334   static int num_arguments() { return 2; }
335   DumpSharedArchiveDCmd(outputStream* output, bool heap);
336   static const char* name() {
337     return "VM.cds";
338   }
339   static const char* description() {
340     return "Dump a static or dynamic shared archive including all shareable classes";
341   }
342   static const char* impact() {
343     return "Medium: Pause time depends on number of loaded classes";
344   }
345   virtual void execute(DCmdSource source, TRAPS);
346 };
347 #endif // INCLUDE_CDS

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 DumpSharedArchiveDCmd: public DCmdWithParser {
350 protected:
351   DCmdArgument<char*> _suboption;   // option of VM.cds
352   DCmdArgument<char*> _filename;    // file name, optional
353 public:
354   static int num_arguments() { return 2; }
355   DumpSharedArchiveDCmd(outputStream* output, bool heap);
356   static const char* name() {
357     return "VM.cds";
358   }
359   static const char* description() {
360     return "Dump a static or dynamic shared archive including all shareable classes";
361   }
362   static const char* impact() {
363     return "Medium: Pause time depends on number of loaded classes";
364   }
365   virtual void execute(DCmdSource source, TRAPS);
366 };
367 #endif // INCLUDE_CDS
< prev index next >