--- old/src/share/vm/services/diagnosticCommand.hpp 2016-01-15 22:26:40.887815764 +0900 +++ new/src/share/vm/services/diagnosticCommand.hpp 2016-01-15 22:26:40.733816074 +0900 @@ -174,6 +174,46 @@ virtual void execute(DCmdSource source, TRAPS); }; +class JVMTIAgentLoadDCmd : public DCmdWithParser { +protected: + DCmdArgument _libpath; + DCmdArgument _option; +public: + JVMTIAgentLoadDCmd(outputStream* output, bool heap); + static const char* name() { return "JVMTI.agent_load"; } + static const char* description() { + return "Load JVMTI native agent."; + } + static const char* impact() { return "Low"; } + static const JavaPermission permission() { + JavaPermission p = {"java.lang.management.ManagementPermission", + "control", NULL}; + return p; + } + static int num_arguments(); + virtual void execute(DCmdSource source, TRAPS); +}; + +class JVMTIJavaAgentLoadDCmd : public DCmdWithParser { +protected: + DCmdArgument _libpath; + DCmdArgument _option; +public: + JVMTIJavaAgentLoadDCmd(outputStream* output, bool heap); + static const char* name() { return "JVMTI.javaagent_load"; } + static const char* description() { + return "Load JVMTI java agent."; + } + static const char* impact() { return "Low"; } + static const JavaPermission permission() { + JavaPermission p = {"java.lang.management.ManagementPermission", + "control", NULL}; + return p; + } + static int num_arguments(); + virtual void execute(DCmdSource source, TRAPS); +}; + class VMDynamicLibrariesDCmd : public DCmd { public: VMDynamicLibrariesDCmd(outputStream* output, bool heap);