--- old/src/hotspot/share/services/diagnosticCommand.hpp 2018-03-01 18:10:06.413705000 +0100 +++ new/src/hotspot/share/services/diagnosticCommand.hpp 2018-03-01 18:10:06.179696000 +0100 @@ -641,6 +641,33 @@ virtual void execute(DCmdSource source, TRAPS); }; +//---< BEGIN >--- 8198691: CodeHeap State Analytics. +class CodeHeapAnalyticsDCmd : public DCmdWithParser { +protected: + DCmdArgument _function; + DCmdArgument _granularity; +public: + CodeHeapAnalyticsDCmd(outputStream* output, bool heap); + static const char* name() { + return "Compiler.CodeHeap_Analytics"; + } + static const char* description() { + return "Print CodeHeap analytics"; + } + static const char* impact() { + return "Low: Depends on code heap size and content. " + "Holds CodeCache_lock during analysis step, usually sub-second duration."; + } + static const JavaPermission permission() { + JavaPermission p = {"java.lang.management.ManagementPermission", + "monitor", NULL}; + return p; + } + static int num_arguments(); + virtual void execute(DCmdSource source, TRAPS); +}; +//---< END >--- 8198691: CodeHeap State Analytics. + class CompilerDirectivesPrintDCmd : public DCmd { public: CompilerDirectivesPrintDCmd(outputStream* output, bool heap) : DCmd(output, heap) {}