src/share/javavm/export/jmm.h

Print this page

        

*** 46,56 **** 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 }; typedef struct { unsigned int isLowMemoryDetectionSupported : 1; unsigned int isCompilationTimeMonitoringSupported : 1; --- 46,57 ---- 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_1_2_1 = 0x20010201, // JDK 7 GA ! JMM_VERSION = 0x20010202 }; typedef struct { unsigned int isLowMemoryDetectionSupported : 1; unsigned int isCompilationTimeMonitoringSupported : 1;
*** 186,195 **** --- 187,214 ---- 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,303 **** --- 313,331 ---- 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 */