@ -1,30 +1,29 @@
/*
* Copyright ( c ) 2003 , 2011 , Oracle and / or its affiliates . All rights reserved .
* ORACLE PROPRIETARY / CONFIDENTIAL . Use is subject to license terms .
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* Copyright ( c ) 2002 , 2020 , 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
* particular file as subject to the " Classpath " exception as provided
* by Oracle in the LICENSE file that accompanied this code .
*
* This code is distributed in the hope that it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License
* version 2 for more details ( a copy is included in the LICENSE file that
* accompanied this code ) .
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work ; if not , write to the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA .
*
* Please contact Oracle , 500 Oracle Parkway , Redwood Shores , CA 94065 USA
* or visit www . oracle . com if you need additional information or have any
* questions .
*/
/* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */
/* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */
/* Include file for the Java(tm) Virtual Machine Tool Interface */
@ -42,8 +41,10 @@ enum {
JVMTI_VERSION_1_0 = 0x30010000 ,
JVMTI_VERSION_1_1 = 0x30010100 ,
JVMTI_VERSION_1_2 = 0x30010200 ,
JVMTI_VERSION_9 = 0x30090000 ,
JVMTI_VERSION_11 = 0x300B0000 ,
JVMTI_VERSION = 0x30000000 + ( 1 * 0x10000 ) + ( 2 * 0x100 ) + 1 /* version: 1.2.1 */
JVMTI_VERSION = 0x30000000 + ( 1 6 * 0x10000 ) + ( 0 * 0x100 ) + 0 /* version: 16.0.0 */
} ;
JNIEXPORT jint JNICALL
@ -348,6 +349,7 @@ typedef enum {
JVMTI_ERROR_INVALID_METHODID = 23 ,
JVMTI_ERROR_INVALID_LOCATION = 24 ,
JVMTI_ERROR_INVALID_FIELDID = 25 ,
JVMTI_ERROR_INVALID_MODULE = 26 ,
JVMTI_ERROR_NO_MORE_FRAMES = 31 ,
JVMTI_ERROR_OPAQUE_FRAME = 32 ,
JVMTI_ERROR_TYPE_MISMATCH = 34 ,
@ -369,7 +371,9 @@ typedef enum {
JVMTI_ERROR_NAMES_DONT_MATCH = 69 ,
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED = 70 ,
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71 ,
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_ATTRIBUTE_CHANGED = 72 ,
JVMTI_ERROR_UNMODIFIABLE_CLASS = 79 ,
JVMTI_ERROR_UNMODIFIABLE_MODULE = 80 ,
JVMTI_ERROR_NOT_AVAILABLE = 98 ,
JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99 ,
JVMTI_ERROR_NULL_POINTER = 100 ,
@ -422,55 +426,56 @@ typedef enum {
JVMTI_EVENT_GARBAGE_COLLECTION_FINISH = 82 ,
JVMTI_EVENT_OBJECT_FREE = 83 ,
JVMTI_EVENT_VM_OBJECT_ALLOC = 84 ,
JVMTI_MAX_EVENT_TYPE_VAL = 84
JVMTI_EVENT_SAMPLED_OBJECT_ALLOC = 86 ,
JVMTI_MAX_EVENT_TYPE_VAL = 86
} jvmtiEvent ;
/* Pre-Declarations */
struct _ jvmtiThreadInfo;
typedef struct _ jvmtiThreadInfo jvmtiThreadInfo ;
struct _ jvmtiMonitorStackDepthInfo;
typedef struct _ jvmtiMonitorStackDepthInfo jvmtiMonitorStackDepthInfo ;
struct _ jvmtiThreadGroupInfo;
typedef struct _ jvmtiThreadGroupInfo jvmtiThreadGroupInfo ;
struct _ jvmtiFrameInfo;
typedef struct _ jvmtiFrameInfo jvmtiFrameInfo ;
struct _ jvmtiStackInfo;
typedef struct _ jvmtiStackInfo jvmtiStackInfo ;
struct _ jvmtiHeapReferenceInfoField;
typedef struct _ jvmtiHeapReferenceInfoField jvmtiHeapReferenceInfoField ;
struct _ jvmtiHeapReferenceInfoArray;
typedef struct _ jvmtiHeapReferenceInfoArray jvmtiHeapReferenceInfoArray ;
struct _ jvmtiHeapReferenceInfoConstantPool;
typedef struct _ jvmtiHeapReferenceInfoConstantPool jvmtiHeapReferenceInfoConstantPool ;
struct _ jvmtiHeapReferenceInfoStackLocal;
typedef struct _ jvmtiHeapReferenceInfoStackLocal jvmtiHeapReferenceInfoStackLocal ;
struct _ jvmtiHeapReferenceInfoJniLocal;
typedef struct _ jvmtiHeapReferenceInfoJniLocal jvmtiHeapReferenceInfoJniLocal ;
struct _ jvmtiHeapReferenceInfoReserved;
typedef struct _ jvmtiHeapReferenceInfoReserved jvmtiHeapReferenceInfoReserved ;
union _ jvmtiHeapReferenceInfo;
typedef union _ jvmtiHeapReferenceInfo jvmtiHeapReferenceInfo ;
struct _ jvmtiHeapCallbacks;
typedef struct _ jvmtiHeapCallbacks jvmtiHeapCallbacks ;
struct _ jvmtiClassDefinition;
typedef struct _ jvmtiClassDefinition jvmtiClassDefinition ;
struct _ jvmtiMonitorUsage;
typedef struct _ jvmtiMonitorUsage jvmtiMonitorUsage ;
struct _ jvmtiLineNumberEntry;
typedef struct _ jvmtiLineNumberEntry jvmtiLineNumberEntry ;
struct _ jvmtiLocalVariableEntry;
typedef struct _ jvmtiLocalVariableEntry jvmtiLocalVariableEntry ;
struct _ jvmtiParamInfo;
typedef struct _ jvmtiParamInfo jvmtiParamInfo ;
struct _ jvmtiExtensionFunctionInfo;
typedef struct _ jvmtiExtensionFunctionInfo jvmtiExtensionFunctionInfo ;
struct _ jvmtiExtensionEventInfo;
typedef struct _ jvmtiExtensionEventInfo jvmtiExtensionEventInfo ;
struct _ jvmtiTimerInfo;
typedef struct _ jvmtiTimerInfo jvmtiTimerInfo ;
struct _ jvmtiAddrLocationMap;
typedef struct _ jvmtiAddrLocationMap jvmtiAddrLocationMap ;
struct jvmtiThreadInfo;
typedef struct jvmtiThreadInfo jvmtiThreadInfo ;
struct jvmtiMonitorStackDepthInfo;
typedef struct jvmtiMonitorStackDepthInfo jvmtiMonitorStackDepthInfo ;
struct jvmtiThreadGroupInfo;
typedef struct jvmtiThreadGroupInfo jvmtiThreadGroupInfo ;
struct jvmtiFrameInfo;
typedef struct jvmtiFrameInfo jvmtiFrameInfo ;
struct jvmtiStackInfo;
typedef struct jvmtiStackInfo jvmtiStackInfo ;
struct jvmtiHeapReferenceInfoField;
typedef struct jvmtiHeapReferenceInfoField jvmtiHeapReferenceInfoField ;
struct jvmtiHeapReferenceInfoArray;
typedef struct jvmtiHeapReferenceInfoArray jvmtiHeapReferenceInfoArray ;
struct jvmtiHeapReferenceInfoConstantPool;
typedef struct jvmtiHeapReferenceInfoConstantPool jvmtiHeapReferenceInfoConstantPool ;
struct jvmtiHeapReferenceInfoStackLocal;
typedef struct jvmtiHeapReferenceInfoStackLocal jvmtiHeapReferenceInfoStackLocal ;
struct jvmtiHeapReferenceInfoJniLocal;
typedef struct jvmtiHeapReferenceInfoJniLocal jvmtiHeapReferenceInfoJniLocal ;
struct jvmtiHeapReferenceInfoReserved;
typedef struct jvmtiHeapReferenceInfoReserved jvmtiHeapReferenceInfoReserved ;
union jvmtiHeapReferenceInfo;
typedef union jvmtiHeapReferenceInfo jvmtiHeapReferenceInfo ;
struct jvmtiHeapCallbacks;
typedef struct jvmtiHeapCallbacks jvmtiHeapCallbacks ;
struct jvmtiClassDefinition;
typedef struct jvmtiClassDefinition jvmtiClassDefinition ;
struct jvmtiMonitorUsage;
typedef struct jvmtiMonitorUsage jvmtiMonitorUsage ;
struct jvmtiLineNumberEntry;
typedef struct jvmtiLineNumberEntry jvmtiLineNumberEntry ;
struct jvmtiLocalVariableEntry;
typedef struct jvmtiLocalVariableEntry jvmtiLocalVariableEntry ;
struct jvmtiParamInfo;
typedef struct jvmtiParamInfo jvmtiParamInfo ;
struct jvmtiExtensionFunctionInfo;
typedef struct jvmtiExtensionFunctionInfo jvmtiExtensionFunctionInfo ;
struct jvmtiExtensionEventInfo;
typedef struct jvmtiExtensionEventInfo jvmtiExtensionEventInfo ;
struct jvmtiTimerInfo;
typedef struct jvmtiTimerInfo jvmtiTimerInfo ;
struct jvmtiAddrLocationMap;
typedef struct jvmtiAddrLocationMap jvmtiAddrLocationMap ;
/* Function Types */
@ -515,43 +520,43 @@ typedef void (JNICALL *jvmtiExtensionEvent)
/* Structure Types */
struct _ jvmtiThreadInfo {
struct jvmtiThreadInfo {
char * name ;
jint priority ;
jboolean is_daemon ;
jthreadGroup thread_group ;
jobject context_class_loader ;
} ;
struct _ jvmtiMonitorStackDepthInfo {
struct jvmtiMonitorStackDepthInfo {
jobject monitor ;
jint stack_depth ;
} ;
struct _ jvmtiThreadGroupInfo {
struct jvmtiThreadGroupInfo {
jthreadGroup parent ;
char * name ;
jint max_priority ;
jboolean is_daemon ;
} ;
struct _ jvmtiFrameInfo {
struct jvmtiFrameInfo {
jmethodID method ;
jlocation location ;
} ;
struct _ jvmtiStackInfo {
struct jvmtiStackInfo {
jthread thread ;
jint state ;
jvmtiFrameInfo * frame_buffer ;
jint frame_count ;
} ;
struct _ jvmtiHeapReferenceInfoField {
struct jvmtiHeapReferenceInfoField {
jint index ;
} ;
struct _ jvmtiHeapReferenceInfoArray {
struct jvmtiHeapReferenceInfoArray {
jint index ;
} ;
struct _ jvmtiHeapReferenceInfoConstantPool {
struct jvmtiHeapReferenceInfoConstantPool {
jint index ;
} ;
struct _ jvmtiHeapReferenceInfoStackLocal {
struct jvmtiHeapReferenceInfoStackLocal {
jlong thread_tag ;
jlong thread_id ;
jint depth ;
@ -559,13 +564,13 @@ struct _jvmtiHeapReferenceInfoStackLocal {
jlocation location ;
jint slot ;
} ;
struct _ jvmtiHeapReferenceInfoJniLocal {
struct jvmtiHeapReferenceInfoJniLocal {
jlong thread_tag ;
jlong thread_id ;
jint depth ;
jmethodID method ;
} ;
struct _ jvmtiHeapReferenceInfoReserved {
struct jvmtiHeapReferenceInfoReserved {
jlong reserved1 ;
jlong reserved2 ;
jlong reserved3 ;
@ -575,7 +580,7 @@ struct _jvmtiHeapReferenceInfoReserved {
jlong reserved7 ;
jlong reserved8 ;
} ;
union _ jvmtiHeapReferenceInfo {
union jvmtiHeapReferenceInfo {
jvmtiHeapReferenceInfoField field ;
jvmtiHeapReferenceInfoArray array ;
jvmtiHeapReferenceInfoConstantPool constant_pool ;
@ -583,7 +588,7 @@ union _jvmtiHeapReferenceInfo {
jvmtiHeapReferenceInfoJniLocal jni_local ;
jvmtiHeapReferenceInfoReserved other ;
} ;
struct _ jvmtiHeapCallbacks {
struct jvmtiHeapCallbacks {
jvmtiHeapIterationCallback heap_iteration_callback ;
jvmtiHeapReferenceCallback heap_reference_callback ;
jvmtiPrimitiveFieldCallback primitive_field_callback ;
@ -601,12 +606,12 @@ struct _jvmtiHeapCallbacks {
jvmtiReservedCallback reserved14 ;
jvmtiReservedCallback reserved15 ;
} ;
struct _ jvmtiClassDefinition {
struct jvmtiClassDefinition {
jclass klass ;
jint class_byte_count ;
const unsigned char * class_bytes ;
} ;
struct _ jvmtiMonitorUsage {
struct jvmtiMonitorUsage {
jthread owner ;
jint entry_count ;
jint waiter_count ;
@ -614,11 +619,11 @@ struct _jvmtiMonitorUsage {
jint notify_waiter_count ;
jthread * notify_waiters ;
} ;
struct _ jvmtiLineNumberEntry {
struct jvmtiLineNumberEntry {
jlocation start_location ;
jint line_number ;
} ;
struct _ jvmtiLocalVariableEntry {
struct jvmtiLocalVariableEntry {
jlocation start_location ;
jint length ;
char * name ;
@ -626,13 +631,13 @@ struct _jvmtiLocalVariableEntry {
char * generic_signature ;
jint slot ;
} ;
struct _ jvmtiParamInfo {
struct jvmtiParamInfo {
char * name ;
jvmtiParamKind kind ;
jvmtiParamTypes base_type ;
jboolean null_ok ;
} ;
struct _ jvmtiExtensionFunctionInfo {
struct jvmtiExtensionFunctionInfo {
jvmtiExtensionFunction func ;
char * id ;
char * short_description ;
@ -641,14 +646,14 @@ struct _jvmtiExtensionFunctionInfo {
jint error_count ;
jvmtiError * errors ;
} ;
struct _ jvmtiExtensionEventInfo {
struct jvmtiExtensionEventInfo {
jint extension_event_index ;
char * id ;
char * short_description ;
jint param_count ;
jvmtiParamInfo * params ;
} ;
struct _ jvmtiTimerInfo {
struct jvmtiTimerInfo {
jlong max_value ;
jboolean may_skip_forward ;
jboolean may_skip_backward ;
@ -656,7 +661,7 @@ struct _jvmtiTimerInfo {
jlong reserved1 ;
jlong reserved2 ;
} ;
struct _ jvmtiAddrLocationMap {
struct jvmtiAddrLocationMap {
const void * start_address ;
jlocation location ;
} ;
@ -703,7 +708,10 @@ typedef struct {
unsigned int can_retransform_any_class : 1 ;
unsigned int can_generate_resource_exhaustion_heap_events : 1 ;
unsigned int can_generate_resource_exhaustion_threads_events : 1 ;
unsigned int : 7 ;
unsigned int can_generate_early_vmstart : 1 ;
unsigned int can_generate_early_class_hook_events : 1 ;
unsigned int can_generate_sampled_object_alloc_events : 1 ;
unsigned int : 4 ;
unsigned int : 16 ;
unsigned int : 16 ;
unsigned int : 16 ;
@ -883,6 +891,14 @@ typedef void (JNICALL *jvmtiEventResourceExhausted)
const void * reserved ,
const char * description ) ;
typedef void ( JNICALL * jvmtiEventSampledObjectAlloc )
( jvmtiEnv * jvmti_env ,
JNIEnv * jni_env ,
jthread thread ,
jobject object ,
jclass object_klass ,
jlong size ) ;
typedef void ( JNICALL * jvmtiEventSingleStep )
( jvmtiEnv * jvmti_env ,
JNIEnv * jni_env ,
@ -994,6 +1010,10 @@ typedef struct {
jvmtiEventObjectFree ObjectFree ;
/* 84 : VM Object Allocation */
jvmtiEventVMObjectAlloc VMObjectAlloc ;
/* 85 */
jvmtiEventReserved reserved85 ;
/* 86 : Sampled Object Allocation */
jvmtiEventSampledObjectAlloc SampledObjectAlloc ;
} jvmtiEventCallbacks ;
@ -1011,8 +1031,10 @@ typedef struct jvmtiInterface_1_ {
jthread event_thread ,
. . . ) ;
/* 3 : RESERVED */
void * reserved3 ;
/* 3 : Get All Modules */
jvmtiError ( JNICALL * GetAllModules ) ( jvmtiEnv * env ,
jint * module_count_ptr ,
jobject * * modules_ptr ) ;
/* 4 : Get All Threads */
jvmtiError ( JNICALL * GetAllThreads ) ( jvmtiEnv * env ,
@ -1213,8 +1235,11 @@ typedef struct jvmtiInterface_1_ {
jmethodID method ,
jlocation location ) ;
/* 40 : RESERVED */
void * reserved40 ;
/* 40 : Get Named Module */
jvmtiError ( JNICALL * GetNamedModule ) ( jvmtiEnv * env ,
jobject class_loader ,
const char * package_name ,
jobject * module_ptr ) ;
/* 41 : Set Field Access Watch */
jvmtiError ( JNICALL * SetFieldAccessWatch ) ( jvmtiEnv * env ,
@ -1492,23 +1517,38 @@ typedef struct jvmtiInterface_1_ {
const jthread * request_list ,
jvmtiError * results ) ;
/* 94 : RESERVED */
void * reserved94 ;
/* 95 : RESERVED */
void * reserved95 ;
/* 96 : RESERVED */
void * reserved96 ;
/* 97 : RESERVED */
void * reserved97 ;
/* 98 : RESERVED */
void * reserved98 ;
/* 99 : RESERVED */
void * reserved99 ;
/* 94 : Add Module Reads */
jvmtiError ( JNICALL * AddModuleReads ) ( jvmtiEnv * env ,
jobject module ,
jobject to_module ) ;
/* 95 : Add Module Exports */
jvmtiError ( JNICALL * AddModuleExports ) ( jvmtiEnv * env ,
jobject module ,
const char * pkg_name ,
jobject to_module ) ;
/* 96 : Add Module Opens */
jvmtiError ( JNICALL * AddModuleOpens ) ( jvmtiEnv * env ,
jobject module ,
const char * pkg_name ,
jobject to_module ) ;
/* 97 : Add Module Uses */
jvmtiError ( JNICALL * AddModuleUses ) ( jvmtiEnv * env ,
jobject module ,
jclass service ) ;
/* 98 : Add Module Provides */
jvmtiError ( JNICALL * AddModuleProvides ) ( jvmtiEnv * env ,
jobject module ,
jclass service ,
jclass impl_class ) ;
/* 99 : Is Modifiable Module */
jvmtiError ( JNICALL * IsModifiableModule ) ( jvmtiEnv * env ,
jobject module ,
jboolean * is_modifiable_module_ptr ) ;
/* 100 : Get All Stack Traces */
jvmtiError ( JNICALL * GetAllStackTraces ) ( jvmtiEnv * env ,
@ -1675,7 +1715,7 @@ typedef struct jvmtiInterface_1_ {
/* 132 : Set System Property */
jvmtiError ( JNICALL * SetSystemProperty ) ( jvmtiEnv * env ,
const char * property ,
const char * value ) ;
const char * value _ptr ) ;
/* 133 : Get Phase */
jvmtiError ( JNICALL * GetPhase ) ( jvmtiEnv * env ,
@ -1781,6 +1821,10 @@ typedef struct jvmtiInterface_1_ {
jint depth ,
jobject * value_ptr ) ;
/* 156 : Set Heap Sampling Interval */
jvmtiError ( JNICALL * SetHeapSamplingInterval ) ( jvmtiEnv * env ,
jint sampling_interval ) ;
} jvmtiInterface_1 ;
struct _jvmtiEnv {
@ -2137,6 +2181,50 @@ struct _jvmtiEnv {
return functions - > ClearFieldModificationWatch ( this , klass , field ) ;
}
jvmtiError GetAllModules ( jint * module_count_ptr ,
jobject * * modules_ptr ) {
return functions - > GetAllModules ( this , module_count_ptr , modules_ptr ) ;
}
jvmtiError GetNamedModule ( jobject class_loader ,
const char * package_name ,
jobject * module_ptr ) {
return functions - > GetNamedModule ( this , class_loader , package_name , module_ptr ) ;
}
jvmtiError AddModuleReads ( jobject module ,
jobject to_module ) {
return functions - > AddModuleReads ( this , module , to_module ) ;
}
jvmtiError AddModuleExports ( jobject module ,
const char * pkg_name ,
jobject to_module ) {
return functions - > AddModuleExports ( this , module , pkg_name , to_module ) ;
}
jvmtiError AddModuleOpens ( jobject module ,
const char * pkg_name ,
jobject to_module ) {
return functions - > AddModuleOpens ( this , module , pkg_name , to_module ) ;
}
jvmtiError AddModuleUses ( jobject module ,
jclass service ) {
return functions - > AddModuleUses ( this , module , service ) ;
}
jvmtiError AddModuleProvides ( jobject module ,
jclass service ,
jclass impl_class ) {
return functions - > AddModuleProvides ( this , module , service , impl_class ) ;
}
jvmtiError IsModifiableModule ( jobject module ,
jboolean * is_modifiable_module_ptr ) {
return functions - > IsModifiableModule ( this , module , is_modifiable_module_ptr ) ;
}
jvmtiError GetLoadedClasses ( jint * class_count_ptr ,
jclass * * classes_ptr ) {
return functions - > GetLoadedClasses ( this , class_count_ptr , classes_ptr ) ;
@ -2484,8 +2572,8 @@ struct _jvmtiEnv {
}
jvmtiError SetSystemProperty ( const char * property ,
const char * value ) {
return functions - > SetSystemProperty ( this , property , value ) ;
const char * value _ptr ) {
return functions - > SetSystemProperty ( this , property , value _ptr ) ;
}
jvmtiError GetPhase ( jvmtiPhase * phase_ptr ) {
@ -2522,6 +2610,10 @@ struct _jvmtiEnv {
return functions - > GetJLocationFormat ( this , format_ptr ) ;
}
jvmtiError SetHeapSamplingInterval ( jint sampling_interval ) {
return functions - > SetHeapSamplingInterval ( this , sampling_interval ) ;
}
# endif /* __cplusplus */
} ;
@ -2531,4 +2623,3 @@ struct _jvmtiEnv {
# endif /* __cplusplus */
# endif /* !_JAVA_JVMTI_H_ */