hotspot/src/share/vm/services/jmm.h
changeset 11360 cfa173720adb
parent 11209 110525ac80b0
child 17296 68557efd8583
equal deleted inserted replaced
11359:9e53808b2128 11360:cfa173720adb
    46 enum {
    46 enum {
    47   JMM_VERSION_1   = 0x20010000,
    47   JMM_VERSION_1   = 0x20010000,
    48   JMM_VERSION_1_0 = 0x20010000,
    48   JMM_VERSION_1_0 = 0x20010000,
    49   JMM_VERSION_1_1 = 0x20010100, // JDK 6
    49   JMM_VERSION_1_1 = 0x20010100, // JDK 6
    50   JMM_VERSION_1_2 = 0x20010200, // JDK 7
    50   JMM_VERSION_1_2 = 0x20010200, // JDK 7
    51   JMM_VERSION     = 0x20010201
    51   JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA
       
    52   JMM_VERSION     = 0x20010202
    52 };
    53 };
    53 
    54 
    54 typedef struct {
    55 typedef struct {
    55   unsigned int isLowMemoryDetectionSupported : 1;
    56   unsigned int isLowMemoryDetectionSupported : 1;
    56   unsigned int isCompilationTimeMonitoringSupported : 1;
    57   unsigned int isCompilationTimeMonitoringSupported : 1;
   186   jvalue*      gc_ext_attribute_values;        /* Array of jvalue for GC extension attributes */
   187   jvalue*      gc_ext_attribute_values;        /* Array of jvalue for GC extension attributes */
   187   jint         num_gc_ext_attributes;          /* number of GC extension attribute values s are filled */
   188   jint         num_gc_ext_attributes;          /* number of GC extension attribute values s are filled */
   188                                                /* -1 indicates gc_ext_attribute_values is not big enough */
   189                                                /* -1 indicates gc_ext_attribute_values is not big enough */
   189 } jmmGCStat;
   190 } jmmGCStat;
   190 
   191 
       
   192 typedef struct {
       
   193   const char* name;
       
   194   const char* description;
       
   195   const char* impact;
       
   196   int         num_arguments;
       
   197   jboolean    enabled;
       
   198 } dcmdInfo;
       
   199 
       
   200 typedef struct {
       
   201   const char* name;
       
   202   const char* description;
       
   203   const char* type;
       
   204   const char* default_string;
       
   205   jboolean    mandatory;
       
   206   jboolean    option;
       
   207   int         position;
       
   208 } dcmdArgInfo;
       
   209 
   191 typedef struct jmmInterface_1_ {
   210 typedef struct jmmInterface_1_ {
   192   void*        reserved1;
   211   void*        reserved1;
   193   void*        reserved2;
   212   void*        reserved2;
   194 
   213 
   195   jint         (JNICALL *GetVersion)             (JNIEnv *env);
   214   jint         (JNICALL *GetVersion)             (JNIEnv *env);
   294                                                   jboolean lockedMonitors,
   313                                                   jboolean lockedMonitors,
   295                                                   jboolean lockedSynchronizers);
   314                                                   jboolean lockedSynchronizers);
   296   void         (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
   315   void         (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
   297                                                     jobject mgr,
   316                                                     jobject mgr,
   298                                                     jboolean enabled);
   317                                                     jboolean enabled);
       
   318   jobjectArray (JNICALL *GetDiagnosticCommands)  (JNIEnv *env);
       
   319   void         (JNICALL *GetDiagnosticCommandInfo)
       
   320                                                  (JNIEnv *env,
       
   321                                                   jobjectArray cmds,
       
   322                                                   dcmdInfo *infoArray);
       
   323   void         (JNICALL *GetDiagnosticCommandArgumentsInfo)
       
   324                                                  (JNIEnv *env,
       
   325                                                   jstring commandName,
       
   326                                                   dcmdArgInfo *infoArray);
       
   327   jstring      (JNICALL *ExecuteDiagnosticCommand)
       
   328                                                  (JNIEnv *env,
       
   329                                                   jstring command);
   299 } JmmInterface;
   330 } JmmInterface;
   300 
   331 
   301 #ifdef __cplusplus
   332 #ifdef __cplusplus
   302 } /* extern "C" */
   333 } /* extern "C" */
   303 #endif /* __cplusplus */
   334 #endif /* __cplusplus */