1.1 --- a/src/share/vm/services/jmm.h Wed May 01 09:00:39 2013 -0700 1.2 +++ b/src/share/vm/services/jmm.h Fri May 03 05:05:31 2013 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -49,7 +49,8 @@ 1.11 JMM_VERSION_1_1 = 0x20010100, // JDK 6 1.12 JMM_VERSION_1_2 = 0x20010200, // JDK 7 1.13 JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA 1.14 - JMM_VERSION = 0x20010202 1.15 + JMM_VERSION_1_2_2 = 0x20010202, 1.16 + JMM_VERSION = 0x20010203 1.17 }; 1.18 1.19 typedef struct { 1.20 @@ -62,7 +63,8 @@ 1.21 unsigned int isObjectMonitorUsageSupported : 1; 1.22 unsigned int isSynchronizerUsageSupported : 1; 1.23 unsigned int isThreadAllocatedMemorySupported : 1; 1.24 - unsigned int : 23; 1.25 + unsigned int isRemoteDiagnosticCommandsSupported : 1; 1.26 + unsigned int : 22; 1.27 } jmmOptionalSupport; 1.28 1.29 typedef enum { 1.30 @@ -190,21 +192,27 @@ 1.31 } jmmGCStat; 1.32 1.33 typedef struct { 1.34 - const char* name; 1.35 - const char* description; 1.36 - const char* impact; 1.37 - int num_arguments; 1.38 - jboolean enabled; 1.39 + const char* name; /* Name of the diagnostic command */ 1.40 + const char* description; /* Short description */ 1.41 + const char* impact; /* Impact on the JVM */ 1.42 + const char* permission_class; /* Class name of the required permission if any */ 1.43 + const char* permission_name; /* Permission name of the required permission if any */ 1.44 + const char* permission_action; /* Action name of the required permission if any*/ 1.45 + int num_arguments; /* Number of supported options or arguments */ 1.46 + jboolean enabled; /* True if the diagnostic command can be invoked, false otherwise */ 1.47 } dcmdInfo; 1.48 1.49 typedef struct { 1.50 - const char* name; 1.51 - const char* description; 1.52 - const char* type; 1.53 - const char* default_string; 1.54 - jboolean mandatory; 1.55 - jboolean option; 1.56 - int position; 1.57 + const char* name; /* Option/Argument name*/ 1.58 + const char* description; /* Short description */ 1.59 + const char* type; /* Type: STRING, BOOLEAN, etc. */ 1.60 + const char* default_string; /* Default value in a parsable string */ 1.61 + jboolean mandatory; /* True if the option/argument is mandatory */ 1.62 + jboolean option; /* True if it is an option, false if it is an argument */ 1.63 + /* (see diagnosticFramework.hpp for option/argument definitions) */ 1.64 + jboolean multiple; /* True if the option can be specified several time */ 1.65 + int position; /* Expected position for this argument (this field is */ 1.66 + /* meaningless for options) */ 1.67 } dcmdArgInfo; 1.68 1.69 typedef struct jmmInterface_1_ { 1.70 @@ -327,6 +335,9 @@ 1.71 jstring (JNICALL *ExecuteDiagnosticCommand) 1.72 (JNIEnv *env, 1.73 jstring command); 1.74 + void (JNICALL *SetDiagnosticFrameworkNotificationEnabled) 1.75 + (JNIEnv *env, 1.76 + jboolean enabled); 1.77 } JmmInterface; 1.78 1.79 #ifdef __cplusplus