src/share/vm/services/jmm.h

Print this page

        

@@ -46,11 +46,12 @@
 enum {
   JMM_VERSION_1   = 0x20010000,
   JMM_VERSION_1_0 = 0x20010000,
   JMM_VERSION_1_1 = 0x20010100, // JDK 6
   JMM_VERSION_1_2 = 0x20010200, // JDK 7
-  JMM_VERSION     = 0x20010201
+  JMM_VERSION_1_2_1 = 0x20010201, // JDK7 GA
+  JMM_VERSION     = 0x20010202
 };
 
 typedef struct {
   unsigned int isLowMemoryDetectionSupported : 1;
   unsigned int isCompilationTimeMonitoringSupported : 1;

@@ -186,10 +187,28 @@
   jvalue*      gc_ext_attribute_values;        /* Array of jvalue for GC extension attributes */
   jint         num_gc_ext_attributes;          /* number of GC extension attribute values s are filled */
                                                /* -1 indicates gc_ext_attribute_values is not big enough */
 } jmmGCStat;
 
+typedef struct {
+    const char *name;
+    const char *description;
+    const char *impact;
+    int num_arguments;
+    jboolean enabled;
+} dcmdInfo;
+
+typedef struct {
+    const char *name;
+    const char *description;
+    const char *type;
+    const char *default_string;
+    jboolean mandatory;
+    jboolean option;
+    int position;
+} dcmdArgInfo;
+
 typedef struct jmmInterface_1_ {
   void*        reserved1;
   void*        reserved2;
 
   jint         (JNICALL *GetVersion)             (JNIEnv *env);

@@ -294,10 +313,19 @@
                                                   jboolean lockedMonitors,
                                                   jboolean lockedSynchronizers);
   void         (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
                                                     jobject mgr,
                                                     jboolean enabled);
+  jobjectArray (JNICALL *GetDiagnosticCommands) (JNIEnv *env);
+  void         (JNICALL *GetDiagnosticCommandInfo) (JNIEnv *env,
+                                                  jobjectArray cmds,
+                                                  dcmdInfo *infoArray);
+  void         (JNICALL *GetDiagnosticCommandArgumentsInfo) (JNIEnv *env,
+                                                  jstring commandName,
+                                                  dcmdArgInfo *infoArray);
+  jstring      (JNICALL *ExecuteDiagnosticCommand) (JNIEnv *env,
+                                                  jstring command);
 } JmmInterface;
 
 #ifdef __cplusplus
 } /* extern "C" */
 #endif /* __cplusplus */