src/share/javavm/export/jmm.h
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 47,57 ****
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;
--- 47,58 ----
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_1_2_2 = 0x20010202,
! JMM_VERSION = 0x20010203
};
typedef struct {
unsigned int isLowMemoryDetectionSupported : 1;
unsigned int isCompilationTimeMonitoringSupported : 1;
*** 60,70 ****
unsigned int isOtherThreadCpuTimeSupported : 1;
unsigned int isBootClassPathSupported : 1;
unsigned int isObjectMonitorUsageSupported : 1;
unsigned int isSynchronizerUsageSupported : 1;
unsigned int isThreadAllocatedMemorySupported : 1;
! unsigned int : 23;
} jmmOptionalSupport;
typedef enum {
JMM_CLASS_LOADED_COUNT = 1, /* Total number of loaded classes */
JMM_CLASS_UNLOADED_COUNT = 2, /* Total number of unloaded classes */
--- 61,72 ----
unsigned int isOtherThreadCpuTimeSupported : 1;
unsigned int isBootClassPathSupported : 1;
unsigned int isObjectMonitorUsageSupported : 1;
unsigned int isSynchronizerUsageSupported : 1;
unsigned int isThreadAllocatedMemorySupported : 1;
! unsigned int isRemoteDiagnosticCommandsSupported : 1;
! unsigned int : 22;
} jmmOptionalSupport;
typedef enum {
JMM_CLASS_LOADED_COUNT = 1, /* Total number of loaded classes */
JMM_CLASS_UNLOADED_COUNT = 2, /* Total number of unloaded classes */
*** 188,212 ****
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;
--- 190,221 ----
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; /* Name of the diagnostic command */
! const char* description; /* Short description */
! const char* impact; /* Impact on the JVM */
! const char* permission_class; /* Class name of the required permission if any */
! const char* permission_name; /* Permission name of the required permission if any */
! const char* permission_action; /* Action name of the required permission if any*/
! int num_arguments; /* Number of supported options or arguments */
! jboolean enabled; /* True if the diagnostic command can be invoked, false otherwise*/
!
} dcmdInfo;
typedef struct {
! const char* name; /* Option/Argument name*/
! const char* description; /* Short description */
! const char* type; /* Type: STRING, BOOLEAN, etc. */
! const char* default_string; /* Default value in a parsable string */
! jboolean mandatory; /* True if the option/argument is mandatory */
! jboolean option; /* True if it is an option, false if it is an argument */
! /* (see diagnosticFramework.hpp for option/argument definitions) */
! jboolean multiple; /* True is the option can be specified several time */
! int position; /* Expected position for this argument (this field is */
! /* meaningless for options) */
} dcmdArgInfo;
typedef struct jmmInterface_1_ {
void* reserved1;
void* reserved2;
*** 325,334 ****
--- 334,346 ----
jstring commandName,
dcmdArgInfo *infoArray);
jstring (JNICALL *ExecuteDiagnosticCommand)
(JNIEnv *env,
jstring command);
+ void (JNICALL *SetDiagnosticFrameworkNotificationEnabled)
+ (JNIEnv *env,
+ jboolean enabled);
} JmmInterface;
#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */