< prev index next >

src/hotspot/share/services/diagnosticCommand.hpp

Print this page

 378   ClassHierarchyDCmd(outputStream* output, bool heap);
 379   static const char* name() {
 380     return "VM.class_hierarchy";
 381   }
 382   static const char* description() {
 383     return "Print a list of all loaded classes, indented to show the class hierarchy. "
 384            "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
 385            "or \"null\" if loaded by the bootstrap class loader.";
 386   }
 387   static const char* impact() {
 388       return "Medium: Depends on number of loaded classes.";
 389   }
 390   static const JavaPermission permission() {
 391     JavaPermission p = {"java.lang.management.ManagementPermission",
 392                         "monitor", nullptr};
 393     return p;
 394   }
 395   virtual void execute(DCmdSource source, TRAPS);
 396 };
 397 




















 398 #if INCLUDE_CDS
 399 class DumpSharedArchiveDCmd: public DCmdWithParser {
 400 protected:
 401   DCmdArgument<char*> _suboption;   // option of VM.cds
 402   DCmdArgument<char*> _filename;    // file name, optional
 403 public:
 404   static int num_arguments() { return 2; }
 405   DumpSharedArchiveDCmd(outputStream* output, bool heap);
 406   static const char* name() {
 407     return "VM.cds";
 408   }
 409   static const char* description() {
 410     return "Dump a static or dynamic shared archive including all shareable classes";
 411   }
 412   static const char* impact() {
 413     return "Medium: Pause time depends on number of loaded classes";
 414   }
 415   static const JavaPermission permission() {
 416     JavaPermission p = {"java.lang.management.ManagementPermission",
 417                         "monitor", nullptr};

 378   ClassHierarchyDCmd(outputStream* output, bool heap);
 379   static const char* name() {
 380     return "VM.class_hierarchy";
 381   }
 382   static const char* description() {
 383     return "Print a list of all loaded classes, indented to show the class hierarchy. "
 384            "The name of each class is followed by the ClassLoaderData* of its ClassLoader, "
 385            "or \"null\" if loaded by the bootstrap class loader.";
 386   }
 387   static const char* impact() {
 388       return "Medium: Depends on number of loaded classes.";
 389   }
 390   static const JavaPermission permission() {
 391     JavaPermission p = {"java.lang.management.ManagementPermission",
 392                         "monitor", nullptr};
 393     return p;
 394   }
 395   virtual void execute(DCmdSource source, TRAPS);
 396 };
 397 
 398 #if INCLUDE_CDS
 399 class AOTEndTrainingDCmd : public DCmd {
 400 public:
 401   AOTEndTrainingDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 402     static const char* name() { return "AOT.end_training"; }
 403     static const char* description() {
 404       return "End AOT training and create the cache.";
 405     }
 406     static const char* impact() {
 407       return "Medium: Pause time depends on number of loaded classes";
 408     }
 409     static const JavaPermission permission() {
 410     JavaPermission p = {"java.lang.management.ManagementPermission",
 411                         "monitor", nullptr};
 412       return p;
 413     }
 414     virtual void execute(DCmdSource source, TRAPS);
 415 };
 416 #endif // INCLUDE_CDS
 417 
 418 #if INCLUDE_CDS
 419 class DumpSharedArchiveDCmd: public DCmdWithParser {
 420 protected:
 421   DCmdArgument<char*> _suboption;   // option of VM.cds
 422   DCmdArgument<char*> _filename;    // file name, optional
 423 public:
 424   static int num_arguments() { return 2; }
 425   DumpSharedArchiveDCmd(outputStream* output, bool heap);
 426   static const char* name() {
 427     return "VM.cds";
 428   }
 429   static const char* description() {
 430     return "Dump a static or dynamic shared archive including all shareable classes";
 431   }
 432   static const char* impact() {
 433     return "Medium: Pause time depends on number of loaded classes";
 434   }
 435   static const JavaPermission permission() {
 436     JavaPermission p = {"java.lang.management.ManagementPermission",
 437                         "monitor", nullptr};
< prev index next >