src/hotspot/share/services/diagnosticCommand.hpp
changeset 49611 973c9504178e
parent 49053 0b61efd5a439
child 49980 57dd7b4ba338
equal deleted inserted replaced
49610:6790b1077a3f 49611:973c9504178e
   639   }
   639   }
   640   static int num_arguments() { return 0; }
   640   static int num_arguments() { return 0; }
   641   virtual void execute(DCmdSource source, TRAPS);
   641   virtual void execute(DCmdSource source, TRAPS);
   642 };
   642 };
   643 
   643 
       
   644 //---<  BEGIN  >--- CodeHeap State Analytics.
       
   645 class CodeHeapAnalyticsDCmd : public DCmdWithParser {
       
   646 protected:
       
   647   DCmdArgument<char*> _function;
       
   648   DCmdArgument<char*> _granularity;
       
   649 public:
       
   650   CodeHeapAnalyticsDCmd(outputStream* output, bool heap);
       
   651   static const char* name() {
       
   652     return "Compiler.CodeHeap_Analytics";
       
   653   }
       
   654   static const char* description() {
       
   655     return "Print CodeHeap analytics";
       
   656   }
       
   657   static const char* impact() {
       
   658     return "Low: Depends on code heap size and content. "
       
   659            "Holds CodeCache_lock during analysis step, usually sub-second duration.";
       
   660   }
       
   661   static const JavaPermission permission() {
       
   662     JavaPermission p = {"java.lang.management.ManagementPermission",
       
   663                         "monitor", NULL};
       
   664     return p;
       
   665   }
       
   666   static int num_arguments();
       
   667   virtual void execute(DCmdSource source, TRAPS);
       
   668 };
       
   669 //---<  END  >--- CodeHeap State Analytics.
       
   670 
   644 class CompilerDirectivesPrintDCmd : public DCmd {
   671 class CompilerDirectivesPrintDCmd : public DCmd {
   645 public:
   672 public:
   646   CompilerDirectivesPrintDCmd(outputStream* output, bool heap) : DCmd(output, heap) {}
   673   CompilerDirectivesPrintDCmd(outputStream* output, bool heap) : DCmd(output, heap) {}
   647   static const char* name() {
   674   static const char* name() {
   648     return "Compiler.directives_print";
   675     return "Compiler.directives_print";