1 /* |
1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
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_1_2_1 = 0x20010201, // JDK 7 GA |
51 JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA |
52 JMM_VERSION = 0x20010202 |
52 JMM_VERSION_1_2_2 = 0x20010202, |
|
53 JMM_VERSION = 0x20010203 |
53 }; |
54 }; |
54 |
55 |
55 typedef struct { |
56 typedef struct { |
56 unsigned int isLowMemoryDetectionSupported : 1; |
57 unsigned int isLowMemoryDetectionSupported : 1; |
57 unsigned int isCompilationTimeMonitoringSupported : 1; |
58 unsigned int isCompilationTimeMonitoringSupported : 1; |
60 unsigned int isOtherThreadCpuTimeSupported : 1; |
61 unsigned int isOtherThreadCpuTimeSupported : 1; |
61 unsigned int isBootClassPathSupported : 1; |
62 unsigned int isBootClassPathSupported : 1; |
62 unsigned int isObjectMonitorUsageSupported : 1; |
63 unsigned int isObjectMonitorUsageSupported : 1; |
63 unsigned int isSynchronizerUsageSupported : 1; |
64 unsigned int isSynchronizerUsageSupported : 1; |
64 unsigned int isThreadAllocatedMemorySupported : 1; |
65 unsigned int isThreadAllocatedMemorySupported : 1; |
65 unsigned int : 23; |
66 unsigned int isRemoteDiagnosticCommandsSupported : 1; |
|
67 unsigned int : 22; |
66 } jmmOptionalSupport; |
68 } jmmOptionalSupport; |
67 |
69 |
68 typedef enum { |
70 typedef enum { |
69 JMM_CLASS_LOADED_COUNT = 1, /* Total number of loaded classes */ |
71 JMM_CLASS_LOADED_COUNT = 1, /* Total number of loaded classes */ |
70 JMM_CLASS_UNLOADED_COUNT = 2, /* Total number of unloaded classes */ |
72 JMM_CLASS_UNLOADED_COUNT = 2, /* Total number of unloaded classes */ |
188 jint num_gc_ext_attributes; /* number of GC extension attribute values s are filled */ |
190 jint num_gc_ext_attributes; /* number of GC extension attribute values s are filled */ |
189 /* -1 indicates gc_ext_attribute_values is not big enough */ |
191 /* -1 indicates gc_ext_attribute_values is not big enough */ |
190 } jmmGCStat; |
192 } jmmGCStat; |
191 |
193 |
192 typedef struct { |
194 typedef struct { |
193 const char* name; |
195 const char* name; /* Name of the diagnostic command */ |
194 const char* description; |
196 const char* description; /* Short description */ |
195 const char* impact; |
197 const char* impact; /* Impact on the JVM */ |
196 int num_arguments; |
198 const char* permission_class; /* Class name of the required permission if any */ |
197 jboolean enabled; |
199 const char* permission_name; /* Permission name of the required permission if any */ |
|
200 const char* permission_action; /* Action name of the required permission if any*/ |
|
201 int num_arguments; /* Number of supported options or arguments */ |
|
202 jboolean enabled; /* True if the diagnostic command can be invoked, false otherwise */ |
198 } dcmdInfo; |
203 } dcmdInfo; |
199 |
204 |
200 typedef struct { |
205 typedef struct { |
201 const char* name; |
206 const char* name; /* Option/Argument name*/ |
202 const char* description; |
207 const char* description; /* Short description */ |
203 const char* type; |
208 const char* type; /* Type: STRING, BOOLEAN, etc. */ |
204 const char* default_string; |
209 const char* default_string; /* Default value in a parsable string */ |
205 jboolean mandatory; |
210 jboolean mandatory; /* True if the option/argument is mandatory */ |
206 jboolean option; |
211 jboolean option; /* True if it is an option, false if it is an argument */ |
207 int position; |
212 /* (see diagnosticFramework.hpp for option/argument definitions) */ |
|
213 jboolean multiple; /* True if the option can be specified several time */ |
|
214 int position; /* Expected position for this argument (this field is */ |
|
215 /* meaningless for options) */ |
208 } dcmdArgInfo; |
216 } dcmdArgInfo; |
209 |
217 |
210 typedef struct jmmInterface_1_ { |
218 typedef struct jmmInterface_1_ { |
211 void* reserved1; |
219 void* reserved1; |
212 void* reserved2; |
220 void* reserved2; |