35 #define JVMTI_VERSION_INTERFACE_JNI 0x00000000
36 #define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
37 #define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
38 #define JVMTI_VERSION_1_0 0x30010000
39 #define JVMTI_VERSION JVMTI_VERSION_1_0
205 typedef void (JNICALL *jvmtiEventSingleStep)
206 (jvmtiEnv *jvmti_env,
212 typedef void (JNICALL *jvmtiEventBreakpoint)
213 (jvmtiEnv *jvmti_env,
219 typedef void (JNICALL *jvmtiEventFieldAccess)
220 (jvmtiEnv *jvmti_env,
229 typedef void (JNICALL *jvmtiEventFieldModification)
230 (jvmtiEnv *jvmti_env,
241 typedef void (JNICALL *jvmtiEventFramePop)
242 (jvmtiEnv *jvmti_env,
248 typedef void (JNICALL *jvmtiEventMethodEntry)
249 (jvmtiEnv *jvmti_env,
254 typedef void (JNICALL *jvmtiEventMethodExit)
255 (jvmtiEnv *jvmti_env,
262 typedef void (JNICALL *jvmtiEventNativeMethodBind)
263 (jvmtiEnv *jvmti_env,
270 typedef void (JNICALL *jvmtiEventException)
271 (jvmtiEnv *jvmti_env,
280 typedef void (JNICALL *jvmtiEventExceptionCatch)
281 (jvmtiEnv *jvmti_env,
288 typedef void (JNICALL *jvmtiEventThreadStart)
289 (jvmtiEnv *jvmti_env,
293 typedef void (JNICALL *jvmtiEventThreadEnd)
294 (jvmtiEnv *jvmti_env,
298 typedef void (JNICALL *jvmtiEventClassLoad)
299 (jvmtiEnv *jvmti_env,
304 typedef void (JNICALL *jvmtiEventClassPrepare)
305 (jvmtiEnv *jvmti_env,
310 typedef void (JNICALL *jvmtiEventClassFileLoadHook)
311 (jvmtiEnv *jvmti_env,
322 typedef void (JNICALL *jvmtiEventVMStart)
323 (jvmtiEnv *jvmti_env,
326 typedef void (JNICALL *jvmtiEventVMInit)
327 (jvmtiEnv *jvmti_env,
331 typedef void (JNICALL *jvmtiEventVMDeath)
332 (jvmtiEnv *jvmti_env,
336 typedef void (JNICALL *jvmtiEventCompiledMethodLoad)
337 (jvmtiEnv *jvmti_env,
345 typedef void (JNICALL *jvmtiEventCompiledMethodUnload)
346 (jvmtiEnv *jvmti_env,
350 typedef void (JNICALL *jvmtiEventDynamicCodeGenerated)
351 (jvmtiEnv *jvmti_env,
356 typedef void (JNICALL *jvmtiEventDataDumpRequest)
357 (jvmtiEnv *jvmti_env);
359 typedef void (JNICALL *jvmtiEventMonitorContendedEnter)
360 (jvmtiEnv *jvmti_env,
365 typedef void (JNICALL *jvmtiEventMonitorContendedEntered)
366 (jvmtiEnv *jvmti_env,
371 typedef void (JNICALL *jvmtiEventMonitorWait)
372 (jvmtiEnv *jvmti_env,
378 typedef void (JNICALL *jvmtiEventMonitorWaited)
379 (jvmtiEnv *jvmti_env,
385 typedef void (JNICALL *jvmtiEventVMObjectAlloc)
386 (jvmtiEnv *jvmti_env,
393 typedef void (JNICALL *jvmtiEventObjectFree)
394 (jvmtiEnv *jvmti_env,
397 typedef void (JNICALL *jvmtiEventGarbageCollectionStart)
398 (jvmtiEnv *jvmti_env);
400 typedef void (JNICALL *jvmtiEventGarbageCollectionFinish)
401 (jvmtiEnv *jvmti_env);
403 typedef void (JNICALL *jvmtiStartFunction)
404 (jvmtiEnv* jvmti_env,
512 typedef jvmtiError (JNICALL *jvmtiExtensionFunction)
513 (jvmtiEnv* jvmti_env,
561 typedef void (JNICALL *jvmtiExtensionEvent)
562 (jvmtiEnv* jvmti_env,
672 unsigned int can_tag_objects : 1;
673 unsigned int can_generate_field_modification_events : 1;
674 unsigned int can_generate_field_access_events : 1;
675 unsigned int can_get_bytecodes : 1;
676 unsigned int can_get_synthetic_attribute : 1;
677 unsigned int can_get_owned_monitor_info : 1;
678 unsigned int can_get_current_contended_monitor : 1;
679 unsigned int can_get_monitor_info : 1;
680 unsigned int can_pop_frame : 1;
681 unsigned int can_redefine_classes : 1;
682 unsigned int can_signal_thread : 1;
683 unsigned int can_get_source_file_name : 1;
684 unsigned int can_get_line_numbers : 1;
685 unsigned int can_get_source_debug_extension : 1;
686 unsigned int can_access_local_variables : 1;
687 unsigned int can_maintain_original_method_order : 1;
688 unsigned int can_generate_single_step_events : 1;
689 unsigned int can_generate_exception_events : 1;
690 unsigned int can_generate_frame_pop_events : 1;
691 unsigned int can_generate_breakpoint_events : 1;
692 unsigned int can_suspend : 1;
693 unsigned int can_redefine_any_class : 1;
694 unsigned int can_get_current_thread_cpu_time : 1;
695 unsigned int can_get_thread_cpu_time : 1;
696 unsigned int can_generate_method_entry_events : 1;
697 unsigned int can_generate_method_exit_events : 1;
698 unsigned int can_generate_all_class_hook_events : 1;
699 unsigned int can_generate_compiled_method_load_events : 1;
700 unsigned int can_generate_monitor_events : 1;
701 unsigned int can_generate_vm_object_alloc_events : 1;
702 unsigned int can_generate_native_method_bind_events : 1;
703 unsigned int can_generate_garbage_collection_events : 1;
704 unsigned int can_generate_object_free_events : 1;
750 jvmtiStartFunction
proc,
1149 #define JVMTI_THREAD_STATE_ALIVE 0x0001
1150 #define JVMTI_THREAD_STATE_TERMINATED 0x0002
1151 #define JVMTI_THREAD_STATE_RUNNABLE 0x0004
1152 #define JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER 0x0400
1153 #define JVMTI_THREAD_STATE_WAITING 0x0080
1154 #define JVMTI_THREAD_STATE_WAITING_INDEFINITELY 0x0010
1155 #define JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT 0x0020
1156 #define JVMTI_THREAD_STATE_SLEEPING 0x0040
1157 #define JVMTI_THREAD_STATE_IN_OBJECT_WAIT 0x0100
1158 #define JVMTI_THREAD_STATE_PARKED 0x0200
1159 #define JVMTI_THREAD_STATE_SUSPENDED 0x100000
1160 #define JVMTI_THREAD_STATE_INTERRUPTED 0x200000
1161 #define JVMTI_THREAD_STATE_IN_NATIVE 0x400000
1162 #define JVMTI_THREAD_STATE_VENDOR_1 0x10000000
1163 #define JVMTI_THREAD_STATE_VENDOR_2 0x20000000
1164 #define JVMTI_THREAD_STATE_VENDOR_3 0x40000000
1166 #define JVMTI_THREAD_MIN_PRIORITY 1
1167 #define JVMTI_THREAD_NORM_PRIORITY 5
1168 #define JVMTI_THREAD_MAX_PRIORITY 10
1170 #define JVMTI_CLASS_STATUS_VERIFIED 1
1171 #define JVMTI_CLASS_STATUS_PREPARED 2
1172 #define JVMTI_CLASS_STATUS_INITIALIZED 4
1173 #define JVMTI_CLASS_STATUS_ERROR 8
1174 #define JVMTI_CLASS_STATUS_ARRAY 16
1175 #define JVMTI_CLASS_STATUS_PRIMITIVE 32
static jvmtiError SetLocalObject(jvmtiEnv *env, jthread thread, jint depth, jint slot, jobject value)
jthread jint * thread_state_ptr
static jvmtiError RunAgentThread(jvmtiEnv *env, jthread thread, jvmtiStartFunction proc, const void *arg, jint priority)
jclass jfieldID char ** name_ptr
struct _jrawMonitorID * jrawMonitorID
jlong jlong jlong jlong jint jmethodID jint slot
static jvmtiError GetMethodModifiers(jvmtiEnv *env, jmethodID method, jint *modifiers_ptr)
static jvmtiError GetObjectsWithTags(jvmtiEnv *env, jint tag_count, const jlong *tags, jint *count_ptr, jobject **object_result_ptr, jlong **tag_result_ptr)
JNIEnv jthread jmethodID jlocation jclass jobject object
static jvmtiError IsMethodNative(jvmtiEnv *env, jmethodID method, jboolean *is_native_ptr)
JNIEnv jclass class_being_redefined
jlong jlong jlong jlong jint referrer_index
struct JNINativeInterface jniNativeInterface
jvmtiHeapObjectFilter jvmtiHeapObjectCallback heap_object_callback
static jvmtiError IsArrayClass(jvmtiEnv *env, jclass klass, jboolean *is_array_class_ptr)
jvmtiEventException Exception
jlong jlong jlong jlong jint void * user_data
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID field
jvmtiCapabilities * capabilities_ptr
JNIEnv jclass jobject const char jobject protection_domain
jobject initiating_loader
jmethodID jint const void jint const jvmtiAddrLocationMap const void * compile_info
static jvmtiError GetExtensionEvents(jvmtiEnv *env, jint *extension_count_ptr, jvmtiExtensionEventInfo **extensions)
jvmtiEventReserved reserved72
jclass jfieldID jclass * declaring_class_ptr
jint char *** property_ptr
static jvmtiError GetMethodLocation(jvmtiEnv *env, jmethodID method, jlocation *start_location_ptr, jlocation *end_location_ptr)
jvmtiEventMonitorContendedEnter MonitorContendedEnter
static jvmtiError NotifyFramePop(jvmtiEnv *env, jthread thread, jint depth)
jthreadGroup jvmtiThreadGroupInfo * info_ptr
const jniNativeInterface * function_table
jint jclass ** classes_ptr
static jvmtiError GetThreadState(jvmtiEnv *env, jthread thread, jint *thread_state_ptr)
static jvmtiError Allocate(jvmtiEnv *env, jlong size, unsigned char **mem_ptr)
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback object_ref_callback
jmethodID jlocation jlocation * end_location_ptr
jint * processor_count_ptr
static jvmtiError GetLocalObject(jvmtiEnv *env, jthread thread, jint depth, jint slot, jobject *value_ptr)
static jvmtiError RedefineClasses(jvmtiEnv *env, jint class_count, const jvmtiClassDefinition *class_definitions)
static jvmtiError GetSourceDebugExtension(jvmtiEnv *env, jclass klass, char **source_debug_extension_ptr)
jclass jfieldID char char ** signature_ptr
static jvmtiError SetLocalInt(jvmtiEnv *env, jthread thread, jint depth, jint slot, jint value)
jvmtiEventGarbageCollectionStart GarbageCollectionStart
jmethodID char char ** signature_ptr
jvmtiEventCompiledMethodUnload CompiledMethodUnload
static jvmtiError SetLocalFloat(jvmtiEnv *env, jthread thread, jint depth, jint slot, jfloat value)
jclass jvmtiHeapObjectFilter jvmtiHeapObjectCallback void * user_data
static jvmtiError GetStackTrace(jvmtiEnv *env, jthread thread, jint start_depth, jint max_frame_count, jvmtiFrameInfo *frame_buffer, jint *count_ptr)
JNIEnv jthread jmethodID void void ** new_address_ptr
jniNativeInterface ** function_table
static jvmtiError GetThreadLocalStorage(jvmtiEnv *env, jthread thread, void **data_ptr)
static jvmtiError GetFieldModifiers(jvmtiEnv *env, jclass klass, jfieldID field, jint *modifiers_ptr)
jclass jint * modifiers_ptr
static jvmtiError DisposeEnvironment(jvmtiEnv *env)
static jvmtiError SetEventCallbacks(jvmtiEnv *env, const jvmtiEventCallbacks *callbacks, jint size_of_callbacks)
jvmtiEventMode jvmtiEvent jthread event_thread
jobject jvmtiMonitorUsage * info_ptr
jclass jint jmethodID ** methods_ptr
static jvmtiError InterruptThread(jvmtiEnv *env, jthread thread)
jthread const void * data
static jvmtiError DestroyRawMonitor(jvmtiEnv *env, jrawMonitorID monitor)
static jvmtiError PopFrame(jvmtiEnv *env, jthread thread)
jint const jlong jint jobject jlong ** tag_result_ptr
jvmtiError SetThreadLocalStorage(jvmtiEnv *jenv, jthread thread, const void *data)
static jvmtiError GetThreadInfo(jvmtiEnv *env, jthread t, jvmtiThreadInfo *info_ptr)
typedef void(JNICALL *jvmtiEventSingleStep)(jvmtiEnv *jvmti_env
static jvmtiError GetClassModifiers(jvmtiEnv *env, jclass klass, jint *modifiers_ptr)
const jvmtiEventCallbacks jint size_of_callbacks
jvmtiError char ** name_ptr
JNIEnv jthread jobject jclass object_klass
static jvmtiError GetClassFields(jvmtiEnv *env, jclass klass, jint *field_count_ptr, jfieldID **fields_ptr)
jvmtiEventExceptionCatch ExceptionCatch
jthread jvmtiThreadInfo * info_ptr
jthread jint jint jfloat value
static jvmtiError StopThread(jvmtiEnv *env, jthread thread, jobject exception)
const void * start_address
jobject jvmtiObjectReferenceCallback void * user_data
JNIEnv jthread jobject jboolean timed_out
static jvmtiError RawMonitorWait(jvmtiEnv *env, jrawMonitorID monitor, jlong millis)
JNIEnv jthread jclass klass
jint const jvmtiClassDefinition * class_definitions
jclass jint * field_count_ptr
jmethodID jclass * declaring_class_ptr
jvmtiEventFieldModification FieldModification
static jvmtiError GetEnvironmentLocalStorage(jvmtiEnv *env, void **data_ptr)
static jvmtiError GetAvailableProcessors(jvmtiEnv *env, jint *processor_count_ptr)
static jvmtiError SetEventNotificationMode(jvmtiEnv *env, jvmtiEventMode mode, jvmtiEvent event_type, jthread event_thread,...)
static jvmtiError ForceGarbageCollection(jvmtiEnv *env)
jmethodID jboolean * is_synthetic_ptr
jint jvmtiExtensionFunctionInfo ** extensions
JNIEnv jclass jobject const char * name
jthread jvmtiStartFunction const void * arg
static jvmtiError GetJLocationFormat(jvmtiEnv *env, jvmtiJlocationFormat *format_ptr)
void * jvmtiEventReserved
jvmtiEventNativeMethodBind NativeMethodBind
static jvmtiError GetMethodDeclaringClass(jvmtiEnv *env, jmethodID method, jclass *declaring_class_ptr)
jint const jthread * thread_list
static jvmtiError RelinquishCapabilities(jvmtiEnv *env, const jvmtiCapabilities *capabilities_ptr)
jclass jfieldID jint * modifiers_ptr
JNIEnv jthread jobject jlong timeout
static jvmtiError IsInterface(jvmtiEnv *env, jclass klass, jboolean *is_interface_ptr)
static jvmtiError GetFieldDeclaringClass(jvmtiEnv *env, jclass klass, jfieldID field, jclass *declaring_class_ptr)
jlong jlong jlong * tag_ptr
JNIEnv jthread jobject jclass jlong size
static jvmtiError SetFieldAccessWatch(jvmtiEnv *env, jclass klass, jfieldID field)
jclass jint jfieldID ** fields_ptr
static jvmtiError Deallocate(jvmtiEnv *env, unsigned char *mem)
jvmtiHeapRootCallback jvmtiStackReferenceCallback stack_ref_callback
jclass jfieldID jboolean * is_synthetic_ptr
jvmtiEventFieldAccess FieldAccess
static jvmtiError CreateRawMonitor(jvmtiEnv *env, const char *name, jrawMonitorID *monitor_ptr)
jvmtiEventMethodExit MethodExit
static jvmtiError GetTime(jvmtiEnv *env, jlong *nanos_ptr)
jthread jint jmethodID jlocation * location_ptr
static jvmtiError GetLocalLong(jvmtiEnv *env, jthread thread, jint depth, jint slot, jlong *value_ptr)
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID char signature_type
JNIEnv jclass jobject const char jobject jint class_data_len
jmethodID jint const void * code_addr
const char char ** value_ptr
jvmtiHeapObjectFilter object_filter
jmethodID jlocation * start_location_ptr
static jvmtiError SuspendThreadList(jvmtiEnv *env, jint request_count, const jthread *request_list, jvmtiError *results)
static jvmtiError GetClassSignature(jvmtiEnv *env, jclass klass, char **signature_ptr, char **generic_ptr)
jvmtiHeapRootCallback heap_root_callback
jvmtiEventReserved reserved77
jvmtiEventSingleStep SingleStep
jthreadGroup thread_group
jlong unsigned char ** mem_ptr
jlong jlong jlong jlong jint depth
jmethodID jint jvmtiLocalVariableEntry ** table_ptr
jvmtiEventReserved reserved78
static jvmtiError GetMethodName(jvmtiEnv *env, jmethodID method, char **name_ptr, char **signature_ptr, char **generic_ptr)
jint jvmtiExtensionEventInfo ** extensions
JNIEnv jthread jmethodID jlocation jobject exception
static jvmtiError IterateOverReachableObjects(jvmtiEnv *env, jvmtiHeapRootCallback heap_root_callback, jvmtiStackReferenceCallback stack_ref_callback, jvmtiObjectReferenceCallback object_ref_callback, void *user_data)
static jvmtiError GetOwnedMonitorInfo(jvmtiEnv *env, jthread thread, jint *owned_monitor_count_ptr, jobject **owned_monitors_ptr)
jint const jthread * request_list
JNIEnv jthread jmethodID jlocation jobject jmethodID catch_method
jthread jobject * monitor_ptr
static jvmtiError GetThreadCpuTime(jvmtiEnv *env, jthread thread, jlong *nanos_ptr)
static jvmtiError GetLocalDouble(jvmtiEnv *env, jthread thread, jint depth, jint slot, jdouble *value_ptr)
jint const jthread jvmtiError * results
static jvmtiError SuspendThread(jvmtiEnv *env, jthread thread)
jboolean may_skip_backward
jint jvmtiStackInfo jint * thread_count_ptr
static jvmtiError RawMonitorNotify(jvmtiEnv *env, jrawMonitorID monitor)
jvmtiEventFramePop FramePop
static jvmtiError GenerateEvents(jvmtiEnv *env, jvmtiEvent event_type)
static jvmtiError GetThreadCpuTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
JNIEnv jthread jmethodID method
static jvmtiError IsMethodSynthetic(jvmtiEnv *env, jmethodID method, jboolean *is_synthetic_ptr)
static jvmtiError ClearFieldAccessWatch(jvmtiEnv *env, jclass klass, jfieldID field)
jthread jint jint jdouble * value_ptr
static jvmtiError GetObjectMonitorUsage(jvmtiEnv *env, jobject object, jvmtiMonitorUsage *info_ptr)
jvmtiEventDynamicCodeGenerated DynamicCodeGenerated
jvmtiEventVMObjectAlloc VMObjectAlloc
static jvmtiError GetPotentialCapabilities(jvmtiEnv *env, jvmtiCapabilities *capabilities_ptr)
jvmtiEventVMDeath VMDeath
static jvmtiError GetSystemProperty(jvmtiEnv *env, const char *property, char **value_ptr)
jvmtiFrameInfo * frame_buffer
jclass char ** source_debug_extension_ptr
static jvmtiError GetSystemProperties(jvmtiEnv *env, jint *count_ptr, char ***property_ptr)
jvmtiEventDataDumpRequest DataDumpRequest
static jvmtiError GetAllThreads(jvmtiEnv *env, jint *threads_count_ptr, jthread **threads_ptr)
static jvmtiError SetEnvironmentLocalStorage(jvmtiEnv *env, const void *data)
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback void * user_data
static jvmtiError GetFieldName(jvmtiEnv *env, jclass klass, jfieldID field, char **name_ptr, char **signature_ptr, char **generic_ptr)
jthread jobject exception
JNIEnv jthread jmethodID jboolean was_popped_by_exception
jclass char ** source_name_ptr
jint jthread ** threads_ptr
jthread jint jint jobject * value_ptr
jvmtiEventClassFileLoadHook ClassFileLoadHook
jvmtiEventGarbageCollectionFinish GarbageCollectionFinish
jlong jlong jlong jlong thread_tag
static jvmtiError AddCapabilities(jvmtiEnv *env, const jvmtiCapabilities *capabilities_ptr)
jvmtiEventReserved reserved80
jvmtiEventBreakpoint Breakpoint
JNIEnv jthread jmethodID void * address
static jvmtiError GetLocalFloat(jvmtiEnv *env, jthread thread, jint depth, jint slot, jfloat *value_ptr)
jthread jint jint jlong value
static jvmtiError GetSourceFileName(jvmtiEnv *env, jclass klass, char **source_name_ptr)
jthread jlong * nanos_ptr
static jvmtiError GetCurrentThreadCpuTime(jvmtiEnv *env, jlong *nanos_ptr)
jclass jint jclass ** interfaces_ptr
jboolean may_skip_forward
jmethodID jint * bytecode_count_ptr
jthread jint jint jfloat * value_ptr
jvmtiError(JNICALL *SetEventNotificationMode)(jvmtiEnv *env
JNIEnv jclass jobject loader
static jvmtiError GetExtensionFunctions(jvmtiEnv *env, jint *extension_count_ptr, jvmtiExtensionFunctionInfo **extensions)
static jvmtiError SetLocalLong(jvmtiEnv *env, jthread thread, jint depth, jint slot, jlong value)
static jvmtiError GetLocalVariableTable(jvmtiEnv *env, jmethodID method, jint *entry_count_ptr, jvmtiLocalVariableEntry **table_ptr)
jvmtiEventReserved reserved79
JNIEnv jclass jobject const char jobject jint const unsigned char jint unsigned char ** new_class_data
jthread jint jmethodID * method_ptr
jmethodID jint * modifiers_ptr
static jvmtiError GetObjectSize(jvmtiEnv *env, jobject object, jlong *size_ptr)
jmethodID jboolean * is_obsolete_ptr
jint extension_event_index
static jvmtiError IterateOverInstancesOfClass(jvmtiEnv *env, jclass klass, jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void *user_data)
static jvmtiError GetCapabilities(jvmtiEnv *env, jvmtiCapabilities *capabilities_ptr)
static jvmtiError SetLocalDouble(jvmtiEnv *env, jthread thread, jint depth, jint slot, jdouble value)
static jvmtiError GetPhase(jvmtiEnv *env, jvmtiPhase *phase_ptr)
static jvmtiError GetImplementedInterfaces(jvmtiEnv *env, jclass klass, jint *interface_count_ptr, jclass **interfaces_ptr)
const jvmtiEventCallbacks * callbacks
JNIEnv jthread jmethodID jlocation jobject jmethodID jlocation catch_location
jvmtiEventCompiledMethodLoad CompiledMethodLoad
JNIEnv jthread jmethodID jboolean jvalue return_value
jthread jvmtiStartFunction const void jint priority
static jvmtiError GetCurrentContendedMonitor(jvmtiEnv *env, jthread thread, jobject *monitor_ptr)
jthreadGroup jint jthread ** threads_ptr
jrawMonitorID jlong millis
static jvmtiError GetLoadedClasses(jvmtiEnv *env, jint *class_count_ptr, jclass **classes_ptr)
jint jvmtiStackInfo ** stack_info_ptr
static jvmtiError SetBreakpoint(jvmtiEnv *env, jmethodID method, jlocation location)
jthread jint jint jobject value
static jvmtiError SetJNIFunctionTable(jvmtiEnv *env, const jniNativeInterface *function_table)
jvmtiVerboseFlag jboolean value
jint * extension_count_ptr
static jvmtiError SetSystemProperty(jvmtiEnv *env, const char *property, const char *value)
static jvmtiError GetErrorName(jvmtiEnv *env, jvmtiError error, char **name_ptr)
static jvmtiError GetObjectHashCode(jvmtiEnv *env, jobject object, jint *hash_code_ptr)
static jvmtiError RawMonitorNotifyAll(jvmtiEnv *env, jrawMonitorID monitor)
jvmtiEventMethodEntry MethodEntry
static jvmtiError IsFieldSynthetic(jvmtiEnv *env, jclass klass, jfieldID field, jboolean *is_synthetic_ptr)
jmethodID jboolean * is_native_ptr
static jvmtiError GetTag(jvmtiEnv *env, jobject object, jlong *tag_ptr)
static jvmtiError IterateOverHeap(jvmtiEnv *env, jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void *user_data)
static jvmtiError GetClassLoaderClasses(jvmtiEnv *env, jobject initiating_loader, jint *class_count_ptr, jclass **classes_ptr)
static jvmtiError ResumeThreadList(jvmtiEnv *env, jint request_count, const jthread *request_list, jvmtiError *results)
static jvmtiError IterateOverObjectsReachableFromObject(jvmtiEnv *env, jobject object, jvmtiObjectReferenceCallback object_reference_callback, void *user_data)
jint const jlong jint jobject ** object_result_ptr
static jvmtiError GetBytecodes(jvmtiEnv *env, jmethodID method, jint *bytecode_count_ptr, unsigned char **bytecodes_ptr)
static jvmtiError RawMonitorExit(jvmtiEnv *env, jrawMonitorID monitor)
static jvmtiError GetThreadListStackTraces(jvmtiEnv *env, jint thread_count, const jthread *thread_list, jint max_frame_count, jvmtiStackInfo **stack_info_ptr)
jvmtiEventThreadStart ThreadStart
jclass jboolean * is_interface_ptr
jvmtiEventMonitorWaited MonitorWaited
jclass jint * interface_count_ptr
static jvmtiError SetExtensionEventCallback(jvmtiEnv *env, jint extension_event_index, jvmtiExtensionEvent callback)
jclass char ** signature_ptr
jint extension_event_index
static jvmtiError GetFrameCount(jvmtiEnv *env, jthread thread, jint *count_ptr)
jmethodID jint const void jint const jvmtiAddrLocationMap * map
jthread jint jint jdouble value
jobject jvmtiObjectReferenceCallback object_reference_callback
static jvmtiError IsMethodObsolete(jvmtiEnv *env, jmethodID method, jboolean *is_obsolete_ptr)
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID char jvalue new_value
jobject jint * hash_code_ptr
jvmtiJlocationFormat * format_ptr
jobject context_class_loader
static jvmtiError GetCurrentThreadCpuTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
static jvmtiError GetTopThreadGroups(jvmtiEnv *env, jint *group_count_ptr, jthreadGroup **groups_ptr)
static jvmtiError GetLocalInt(jvmtiEnv *env, jthread thread, jint depth, jint slot, jint *value_ptr)
jthread jint * owned_monitor_count_ptr
jvmtiParamTypes base_type
jmethodID jint unsigned char ** bytecodes_ptr
static jvmtiError GetVersionNumber(jvmtiEnv *env, jint *version_ptr)
static jvmtiError GetClassStatus(jvmtiEnv *env, jclass klass, jint *status_ptr)
jthread jint jint jvmtiFrameInfo * frame_buffer
jvmtiHeapObjectFilter jvmtiHeapObjectCallback void * user_data
const unsigned char * class_bytes
struct jvmtiEnv_struct * jvmtiEnv
jthread jint jint jint * value_ptr
static jvmtiError RawMonitorEnter(jvmtiEnv *env, jrawMonitorID monitor)
static jvmtiError GetClassLoader(jvmtiEnv *env, jclass klass, jobject *classloader_ptr)
static jvmtiError GetClassMethods(jvmtiEnv *env, jclass klass, jint *method_count_ptr, jmethodID **methods_ptr)
static jvmtiError SetFieldModificationWatch(jvmtiEnv *env, jclass klass, jfieldID field)
jvmtiEventMode jvmtiEvent jthread void * reserved3
jvmtiEventMode jvmtiEvent event_type
jvmtiEventMonitorWait MonitorWait
jmethodID jint * entry_count_ptr
jmethodID jlocation location
jclass jboolean * is_array_class_ptr
jvmtiEventThreadEnd ThreadEnd
jvmtiTimerInfo * info_ptr
jint jvmtiExtensionEvent callback
jclass jint * method_count_ptr
JNIEnv jthread jmethodID jlocation jclass field_klass
static jvmtiError GetLineNumberTable(jvmtiEnv *env, jmethodID method, jint *entry_count_ptr, jvmtiLineNumberEntry **table_ptr)
jvmtiEventClassLoad ClassLoad
static jvmtiError AddToBootstrapClassLoaderSearch(jvmtiEnv *env, const char *segment)
jvmtiEventMonitorContendedEntered MonitorContendedEntered
static jvmtiError ClearBreakpoint(jvmtiEnv *env, jmethodID method, jlocation location)
static jvmtiError GetTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
static jvmtiError ResumeThread(jvmtiEnv *env, jthread thread)
static jvmtiError GetArgumentsSize(jvmtiEnv *env, jmethodID method, jint *size_ptr)
jthread jint jint jint value
static jvmtiError ClearFieldModificationWatch(jvmtiEnv *env, jclass klass, jfieldID field)
jmethodID jint * size_ptr
jthreadGroup jint * thread_count_ptr
JNIEnv jclass jobject const char jobject jint const unsigned char jint * new_class_data_len
jvmtiEventVMStart VMStart
JNIEnv jthread jmethodID jlocation location
JNIEnv jclass jobject const char jobject jint const unsigned char * class_data
jvmtiEventClassPrepare ClassPrepare
jclass char char ** generic_ptr
jlong jlong jlong jlong referrer_tag
jint jthreadGroup ** groups_ptr
jvmtiExtensionFunction func
static jvmtiError GetJNIFunctionTable(jvmtiEnv *env, jniNativeInterface **function_table)
const char const void jint length
jmethodID jint jvmtiLineNumberEntry ** table_ptr
static jvmtiError SetVerboseFlag(jvmtiEnv *env, jvmtiVerboseFlag flag, jboolean value)
static jvmtiError GetFrameLocation(jvmtiEnv *env, jthread thread, jint depth, jmethodID *method_ptr, jlocation *location_ptr)
jthread jint jint jlong * value_ptr
static jvmtiError GetMaxLocals(jvmtiEnv *env, jmethodID method, jint *max_ptr)
jvmtiEventObjectFree ObjectFree
const jvmtiCapabilities * capabilities_ptr
const char const char * value
jclass jobject * classloader_ptr
jthread jint jobject ** owned_monitors_ptr
jmethodID jint const void jint map_length
static jvmtiError GetAllStackTraces(jvmtiEnv *env, jint max_frame_count, jvmtiStackInfo **stack_info_ptr, jint *thread_count_ptr)
static jvmtiError GetThreadGroupChildren(jvmtiEnv *env, jthreadGroup group, jint *thread_count_ptr, jthread **threads_ptr, jint *group_count_ptr, jthreadGroup **groups_ptr)
jthread jvmtiStartFunction proc
static jvmtiError GetThreadGroupInfo(jvmtiEnv *env, jthreadGroup group, jvmtiThreadGroupInfo *info_ptr)
static jvmtiError SetTag(jvmtiEnv *env, jobject object, jlong tag)