157 158 class JVMTIDataDumpDCmd : public DCmd { 159 public: 160 JVMTIDataDumpDCmd(outputStream* output, bool heap) : DCmd(output, heap) { } 161 static const char* name() { return "JVMTI.data_dump"; } 162 static const char* description() { 163 return "Signal the JVM to do a data-dump request for JVMTI."; 164 } 165 static const char* impact() { 166 return "High"; 167 } 168 static const JavaPermission permission() { 169 JavaPermission p = {"java.lang.management.ManagementPermission", 170 "monitor", NULL}; 171 return p; 172 } 173 static int num_arguments() { return 0; } 174 virtual void execute(DCmdSource source, TRAPS); 175 }; 176 177 class VMDynamicLibrariesDCmd : public DCmd { 178 public: 179 VMDynamicLibrariesDCmd(outputStream* output, bool heap); 180 static const char* name() { 181 return "VM.dynlibs"; 182 } 183 static const char* description() { 184 return "Print loaded dynamic libraries."; 185 } 186 static const char* impact() { 187 return "Low"; 188 } 189 static const JavaPermission permission() { 190 JavaPermission p = {"java.lang.management.ManagementPermission", 191 "monitor", NULL}; 192 return p; 193 } 194 static int num_arguments() { 195 return 0; 196 }; | 157 158 class JVMTIDataDumpDCmd : public DCmd { 159 public: 160 JVMTIDataDumpDCmd(outputStream* output, bool heap) : DCmd(output, heap) { } 161 static const char* name() { return "JVMTI.data_dump"; } 162 static const char* description() { 163 return "Signal the JVM to do a data-dump request for JVMTI."; 164 } 165 static const char* impact() { 166 return "High"; 167 } 168 static const JavaPermission permission() { 169 JavaPermission p = {"java.lang.management.ManagementPermission", 170 "monitor", NULL}; 171 return p; 172 } 173 static int num_arguments() { return 0; } 174 virtual void execute(DCmdSource source, TRAPS); 175 }; 176 177 class JVMTIAgentLoadDCmd : public DCmdWithParser { 178 protected: 179 DCmdArgument<char*> _libpath; 180 DCmdArgument<char*> _option; 181 public: 182 JVMTIAgentLoadDCmd(outputStream* output, bool heap); 183 static const char* name() { return "JVMTI.agent_load"; } 184 static const char* description() { 185 return "Load JVMTI native agent."; 186 } 187 static const char* impact() { return "Low"; } 188 static const JavaPermission permission() { 189 JavaPermission p = {"java.lang.management.ManagementPermission", 190 "control", NULL}; 191 return p; 192 } 193 static int num_arguments(); 194 virtual void execute(DCmdSource source, TRAPS); 195 }; 196 197 class VMDynamicLibrariesDCmd : public DCmd { 198 public: 199 VMDynamicLibrariesDCmd(outputStream* output, bool heap); 200 static const char* name() { 201 return "VM.dynlibs"; 202 } 203 static const char* description() { 204 return "Print loaded dynamic libraries."; 205 } 206 static const char* impact() { 207 return "Low"; 208 } 209 static const JavaPermission permission() { 210 JavaPermission p = {"java.lang.management.ManagementPermission", 211 "monitor", NULL}; 212 return p; 213 } 214 static int num_arguments() { 215 return 0; 216 }; |