CACAO
jvmti.h
Go to the documentation of this file.
1 /* src/native/jvmti.c - implementation of the Java Virtual Machine Tool
2  Interface functions
3 
4  Copyright (C) 1996-2005, 2006, 2008
5  CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
6 
7  This file is part of CACAO.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2, or (at
12  your option) any later version.
13 
14  This program is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  02110-1301, USA.
23 
24 */
25 
26 
27 #ifndef _JVMTI_H
28 #define _JVMTI_H
29 
30 #include "config.h"
31 
32 #include "native/jni.hpp"
33 
34 
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
40 
41 
42 typedef jobject jthread;
44 typedef jlong jlocation;
45 struct _jrawMonitorID;
46 typedef struct _jrawMonitorID *jrawMonitorID;
47 typedef struct jvmtiEnv_struct *jvmtiEnv;
48 
49 typedef enum {
50  JVMTI_ERROR_NONE = 0, /* No error has occurred. This is the error code that is
51  returned on successful completion of the function. */
52  JVMTI_ERROR_NULL_POINTER = 100, /* Pointer is unexpectedly NULL. */
53  JVMTI_ERROR_OUT_OF_MEMORY = 110, /* The function attempted to allocate memory
54  and no more memory was available for
55  allocation. */
56  JVMTI_ERROR_ACCESS_DENIED = 111, /* The desired functionality has not been
57  enabled in this virtual machine. */
58  JVMTI_ERROR_UNATTACHED_THREAD = 115, /* The thread being used to call this
59  function is not attached to the virtual
60  machine. Calls must be made from attached threads.
61  See AttachCurrentThread in the JNI invocation API. */
63  The JVM TI environment provided is no longer connected or is not an environment. */
65  The desired functionality is not available in the current phase. Always returned if the virtual machine has completed running. */
67  An unexpected internal error has occurred. */
68 
69 /* ****** Function Specific Required Errors ********** */
71  Invalid priority. */
73  Thread was not suspended. */
75  Thread already suspended. */
77  This operation requires the thread to be alive--that is, it must be started and not yet have died. */
79  The class has been loaded but not yet prepared. */
81  There are no Java programming language or JNI stack frames at the specified depth. */
83  Information about the frame is not available = e.g. for native frames, */
85  Item already set. */
87  Desired element = e.g. field or breakpoint, not found */
89  This thread doesn't own the raw monitor. */
91  The call has been interrupted before completion. */
93  The class cannot be modified. */
95  The functionality is not available in this virtual machine. */
97  The requested information is not available. */
99  The specified event type ID is not recognized. */
101  The requested information is not available for native method.
102  Function Specific Agent Errors
103  The following errors are returned by some JVM TI functions. They are returned in the event of invalid parameters passed by the agent or usage in an invalid context. An implementation is not required to detect these errors. */
105  The passed thread is not a valid thread.*/
107  Invalid field. */
109  Invalid method. */
111  Invalid location. */
113  Invalid object. */
115  Invalid class. */
117  The variable is not an appropriate type for the function used. */
119  Invalid slot. */
121  The capability being used is false in this environment. */
123  Thread group invalid. */
125  Invalid raw monitor. */
127  Illegal argument. */
129  The state of the thread has been modified, and is now inconsistent. */
131  A new class file has a version number not supported by this VM. */
133  A new class file is malformed = the VM would return a ClassFormatError, */
135  The new class file definitions would lead to a circular definition = the VM would return a ClassCircularityError, */
137  A new class file would require adding a method. */
139  A new class version changes a field. */
141  The class bytes fail verification. */
143  A direct superclass is different for the new class version, or the set of directly implemented interfaces is different. */
145  A new class version does not declare a method declared in the old class version. */
147  The class name defined in the new class file is different from the name in the old class object. */
149  A new class version has different modifiers. */
151  A method in the new class version has different modifiers than its counterpart in the old class version.*/
152 
153 } jvmtiError;
154 
155 
156 typedef enum {
162 } jvmtiPhase;
163 
164 
165 typedef enum {
170 
171 typedef struct {
175 
176 typedef struct {
177  char* name;
178  jint priority;
179  jboolean is_daemon;
183 
184 typedef enum {
190 
191 typedef struct {
194  const unsigned char* class_bytes;
196 
197 typedef struct JNINativeInterface jniNativeInterface;
198 
199 typedef struct {
200  const void* start_address;
203 
204 
205 typedef void (JNICALL *jvmtiEventSingleStep)
206  (jvmtiEnv *jvmti_env,
208  jthread thread,
209  jmethodID method,
211 
212 typedef void (JNICALL *jvmtiEventBreakpoint)
213  (jvmtiEnv *jvmti_env,
214  JNIEnv* jni_env,
215  jthread thread,
216  jmethodID method,
218 
219 typedef void (JNICALL *jvmtiEventFieldAccess)
220  (jvmtiEnv *jvmti_env,
222  jthread thread,
223  jmethodID method,
226  jobject object,
227  jfieldID field);
228 
229 typedef void (JNICALL *jvmtiEventFieldModification)
230  (jvmtiEnv *jvmti_env,
232  jthread thread,
233  jmethodID method,
236  jobject object,
237  jfieldID field,
238  char signature_type,
239  jvalue new_value);
240 
241 typedef void (JNICALL *jvmtiEventFramePop)
242  (jvmtiEnv *jvmti_env,
244  jthread thread,
245  jmethodID method,
246  jboolean was_popped_by_exception);
247 
248 typedef void (JNICALL *jvmtiEventMethodEntry)
249  (jvmtiEnv *jvmti_env,
250  JNIEnv* jni_env,
251  jthread thread,
252  jmethodID method);
253 
254 typedef void (JNICALL *jvmtiEventMethodExit)
255  (jvmtiEnv *jvmti_env,
257  jthread thread,
258  jmethodID method,
259  jboolean was_popped_by_exception,
260  jvalue return_value);
261 
262 typedef void (JNICALL *jvmtiEventNativeMethodBind)
263  (jvmtiEnv *jvmti_env,
265  jthread thread,
266  jmethodID method,
267  void* address,
268  void** new_address_ptr);
269 
270 typedef void (JNICALL *jvmtiEventException)
271  (jvmtiEnv *jvmti_env,
273  jthread thread,
274  jmethodID method,
277  jmethodID catch_method,
279 
280 typedef void (JNICALL *jvmtiEventExceptionCatch)
281  (jvmtiEnv *jvmti_env,
282  JNIEnv* jni_env,
283  jthread thread,
284  jmethodID method,
287 
288 typedef void (JNICALL *jvmtiEventThreadStart)
289  (jvmtiEnv *jvmti_env,
290  JNIEnv* jni_env,
291  jthread thread);
292 
293 typedef void (JNICALL *jvmtiEventThreadEnd)
294  (jvmtiEnv *jvmti_env,
295  JNIEnv* jni_env,
296  jthread thread);
297 
298 typedef void (JNICALL *jvmtiEventClassLoad)
299  (jvmtiEnv *jvmti_env,
301  jthread thread,
302  jclass klass);
303 
304 typedef void (JNICALL *jvmtiEventClassPrepare)
305  (jvmtiEnv *jvmti_env,
306  JNIEnv* jni_env,
307  jthread thread,
308  jclass klass);
309 
310 typedef void (JNICALL *jvmtiEventClassFileLoadHook)
311  (jvmtiEnv *jvmti_env,
314  jobject loader,
315  const char* name,
317  jint class_data_len,
318  const unsigned char* class_data,
319  jint* new_class_data_len,
320  unsigned char** new_class_data);
321 
322 typedef void (JNICALL *jvmtiEventVMStart)
323  (jvmtiEnv *jvmti_env,
324  JNIEnv* jni_env);
325 
326 typedef void (JNICALL *jvmtiEventVMInit)
327  (jvmtiEnv *jvmti_env,
328  JNIEnv* jni_env,
329  jthread thread);
330 
331 typedef void (JNICALL *jvmtiEventVMDeath)
332  (jvmtiEnv *jvmti_env,
333  JNIEnv* jni_env);
334 
335 
336 typedef void (JNICALL *jvmtiEventCompiledMethodLoad)
337  (jvmtiEnv *jvmti_env,
338  jmethodID method,
339  jint code_size,
340  const void* code_addr,
341  jint map_length,
342  const jvmtiAddrLocationMap* map,
343  const void* compile_info);
344 
345 typedef void (JNICALL *jvmtiEventCompiledMethodUnload)
346  (jvmtiEnv *jvmti_env,
347  jmethodID method,
348  const void* code_addr);
349 
350 typedef void (JNICALL *jvmtiEventDynamicCodeGenerated)
351  (jvmtiEnv *jvmti_env,
352  const char* name,
353  const void* address,
354  jint length);
355 
356 typedef void (JNICALL *jvmtiEventDataDumpRequest)
357  (jvmtiEnv *jvmti_env);
358 
359 typedef void (JNICALL *jvmtiEventMonitorContendedEnter)
360  (jvmtiEnv *jvmti_env,
361  JNIEnv* jni_env,
362  jthread thread,
363  jobject object);
364 
365 typedef void (JNICALL *jvmtiEventMonitorContendedEntered)
366  (jvmtiEnv *jvmti_env,
367  JNIEnv* jni_env,
368  jthread thread,
369  jobject object);
370 
371 typedef void (JNICALL *jvmtiEventMonitorWait)
372  (jvmtiEnv *jvmti_env,
374  jthread thread,
375  jobject object,
376  jlong timeout);
377 
378 typedef void (JNICALL *jvmtiEventMonitorWaited)
379  (jvmtiEnv *jvmti_env,
381  jthread thread,
382  jobject object,
383  jboolean timed_out);
384 
385 typedef void (JNICALL *jvmtiEventVMObjectAlloc)
386  (jvmtiEnv *jvmti_env,
388  jthread thread,
389  jobject object,
391  jlong size);
392 
393 typedef void (JNICALL *jvmtiEventObjectFree)
394  (jvmtiEnv *jvmti_env,
395  jlong tag);
396 
397 typedef void (JNICALL *jvmtiEventGarbageCollectionStart)
398  (jvmtiEnv *jvmti_env);
399 
400 typedef void (JNICALL *jvmtiEventGarbageCollectionFinish)
401  (jvmtiEnv *jvmti_env);
402 
403 typedef void (JNICALL *jvmtiStartFunction)
404  (jvmtiEnv* jvmti_env,
406  void* arg);
407 
408 typedef struct {
410  char* name;
412  jboolean is_daemon;
414 
415 typedef struct {
423 
424 typedef struct {
426  jint length;
427  char* name;
428  char* signature;
430  jint slot;
432 
433 typedef struct {
434  jmethodID method;
437 
438 typedef struct {
440  jint state;
444 
445 typedef enum {
450 
451 typedef enum {
462 
463 typedef enum {
468 
469 typedef enum {
478 
479 typedef jvmtiIterationControl (JNICALL *jvmtiObjectReferenceCallback)
480  (jvmtiObjectReferenceKind reference_kind,
481  jlong class_tag,
482  jlong size,
483  jlong* tag_ptr,
484  jlong referrer_tag,
485  jint referrer_index,
486  void* user_data);
487 
488 typedef jvmtiIterationControl (JNICALL *jvmtiHeapRootCallback)
489  (jvmtiHeapRootKind root_kind,
490  jlong class_tag,
491  jlong size,
492  jlong* tag_ptr,
493  void* user_data);
494 
495 typedef jvmtiIterationControl (JNICALL *jvmtiStackReferenceCallback)
496  (jvmtiHeapRootKind root_kind,
497  jlong class_tag,
498  jlong size,
499  jlong* tag_ptr,
500  jlong thread_tag,
501  jint depth,
502  jmethodID method,
503  jint slot,
504  void* user_data);
505 
506 typedef jvmtiIterationControl (JNICALL *jvmtiHeapObjectCallback)
507  (jlong class_tag,
508  jlong size,
509  jlong* tag_ptr,
510  void* user_data);
511 
512 typedef jvmtiError (JNICALL *jvmtiExtensionFunction)
513  (jvmtiEnv* jvmti_env,
514  ...);
515 
516 typedef enum {
525 
526 typedef enum {
545 
546 typedef struct {
547  char* name;
550  jboolean null_ok;
552 
553 typedef struct {
555  char* id;
560 
561 typedef void (JNICALL *jvmtiExtensionEvent)
562  (jvmtiEnv* jvmti_env,
563  ...);
564 
565 typedef enum {
570 
571 typedef struct {
572  jlong max_value;
576  jlong reserved1;
577  jlong reserved2;
579 
580 typedef struct {
581  jvmtiExtensionFunction func;
582  char* id;
589 
590 typedef void* jvmtiEventReserved;
591 
592 typedef struct {
593  jvmtiEventVMInit VMInit;
594  jvmtiEventVMDeath VMDeath;
595  jvmtiEventThreadStart ThreadStart;
596  jvmtiEventThreadEnd ThreadEnd;
597  jvmtiEventClassFileLoadHook ClassFileLoadHook;
598  jvmtiEventClassLoad ClassLoad;
599  jvmtiEventClassPrepare ClassPrepare;
600  jvmtiEventVMStart VMStart;
601  jvmtiEventException Exception;
602  jvmtiEventExceptionCatch ExceptionCatch;
603  jvmtiEventSingleStep SingleStep;
604  jvmtiEventFramePop FramePop;
605  jvmtiEventBreakpoint Breakpoint;
606  jvmtiEventFieldAccess FieldAccess;
607  jvmtiEventFieldModification FieldModification;
608  jvmtiEventMethodEntry MethodEntry;
609  jvmtiEventMethodExit MethodExit;
610  jvmtiEventNativeMethodBind NativeMethodBind;
611  jvmtiEventCompiledMethodLoad CompiledMethodLoad;
612  jvmtiEventCompiledMethodUnload CompiledMethodUnload;
613  jvmtiEventDynamicCodeGenerated DynamicCodeGenerated;
614  jvmtiEventDataDumpRequest DataDumpRequest;
616  jvmtiEventMonitorWait MonitorWait;
617  jvmtiEventMonitorWaited MonitorWaited;
618  jvmtiEventMonitorContendedEnter MonitorContendedEnter;
619  jvmtiEventMonitorContendedEntered MonitorContendedEntered;
624  jvmtiEventGarbageCollectionStart GarbageCollectionStart;
625  jvmtiEventGarbageCollectionFinish GarbageCollectionFinish;
626  jvmtiEventObjectFree ObjectFree;
627  jvmtiEventVMObjectAlloc VMObjectAlloc;
629 
630 typedef enum {
634 
635 typedef enum {
668 } jvmtiEvent;
669 
670 
671 typedef struct {
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;
705  unsigned int : 15;
706  unsigned int : 16;
707  unsigned int : 16;
708  unsigned int : 16;
709  unsigned int : 16;
710  unsigned int : 16;
712 
713 
714 
715 
716 
717 /* Function Interface */
719  void *reserved1;
720  jvmtiError (JNICALL *SetEventNotificationMode) (jvmtiEnv* env,
724  ...);
725  void *reserved3;
726  jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,
728  jthread** threads_ptr);
729  jvmtiError (JNICALL *SuspendThread) (jvmtiEnv* env,
731  jvmtiError (JNICALL *ResumeThread) (jvmtiEnv* env,
732  jthread thread);
733  jvmtiError (JNICALL *StopThread) (jvmtiEnv* env,
736  jvmtiError (JNICALL *InterruptThread) (jvmtiEnv* env,
737  jthread thread);
738  jvmtiError (JNICALL *GetThreadInfo) (jvmtiEnv* env,
741  jvmtiError (JNICALL *GetOwnedMonitorInfo) (jvmtiEnv* env,
745  jvmtiError (JNICALL *GetCurrentContendedMonitor) (jvmtiEnv* env,
748  jvmtiError (JNICALL *RunAgentThread) (jvmtiEnv* env,
750  jvmtiStartFunction proc,
751  const void* arg,
752  jint priority);
753  jvmtiError (JNICALL *GetTopThreadGroups) (jvmtiEnv* env,
756  jvmtiError (JNICALL *GetThreadGroupInfo) (jvmtiEnv* env,
759  jvmtiError (JNICALL *GetThreadGroupChildren) (jvmtiEnv* env,
761  jint* thread_count_ptr,
762  jthread** threads_ptr,
763  jint* group_count_ptr,
765  jvmtiError (JNICALL *GetFrameCount) (jvmtiEnv* env,
767  jint* count_ptr);
768  jvmtiError (JNICALL *GetThreadState) (jvmtiEnv* env,
770  jint* thread_state_ptr);
771  void *reserved18;
772  jvmtiError (JNICALL *GetFrameLocation) (jvmtiEnv* env,
774  jint depth,
775  jmethodID* method_ptr,
777  jvmtiError (JNICALL *NotifyFramePop) (jvmtiEnv* env,
778  jthread thread,
779  jint depth);
780  jvmtiError (JNICALL *GetLocalObject) (jvmtiEnv* env,
782  jint depth,
783  jint slot,
784  jobject* value_ptr);
785  jvmtiError (JNICALL *GetLocalInt) (jvmtiEnv* env,
787  jint depth,
788  jint slot,
789  jint* value_ptr);
790  jvmtiError (JNICALL *GetLocalLong) (jvmtiEnv* env,
792  jint depth,
793  jint slot,
794  jlong* value_ptr);
795  jvmtiError (JNICALL *GetLocalFloat) (jvmtiEnv* env,
797  jint depth,
798  jint slot,
799  jfloat* value_ptr);
800  jvmtiError (JNICALL *GetLocalDouble) (jvmtiEnv* env,
802  jint depth,
803  jint slot,
804  jdouble* value_ptr);
805  jvmtiError (JNICALL *SetLocalObject) (jvmtiEnv* env,
807  jint depth,
808  jint slot,
809  jobject value);
810  jvmtiError (JNICALL *SetLocalInt) (jvmtiEnv* env,
812  jint depth,
813  jint slot,
814  jint value);
815  jvmtiError (JNICALL *SetLocalLong) (jvmtiEnv* env,
817  jint depth,
818  jint slot,
819  jlong value);
820  jvmtiError (JNICALL *SetLocalFloat) (jvmtiEnv* env,
822  jint depth,
823  jint slot,
824  jfloat value);
825  jvmtiError (JNICALL *SetLocalDouble) (jvmtiEnv* env,
827  jint depth,
828  jint slot,
829  jdouble value);
830  jvmtiError (JNICALL *CreateRawMonitor) (jvmtiEnv* env,
831  const char* name,
832  jrawMonitorID* monitor_ptr);
833  jvmtiError (JNICALL *DestroyRawMonitor) (jvmtiEnv* env,
834  jrawMonitorID monitor);
835  jvmtiError (JNICALL *RawMonitorEnter) (jvmtiEnv* env,
836  jrawMonitorID monitor);
837  jvmtiError (JNICALL *RawMonitorExit) (jvmtiEnv* env,
838  jrawMonitorID monitor);
839  jvmtiError (JNICALL *RawMonitorWait) (jvmtiEnv* env,
840  jrawMonitorID monitor,
841  jlong millis);
842  jvmtiError (JNICALL *RawMonitorNotify) (jvmtiEnv* env,
843  jrawMonitorID monitor);
844  jvmtiError (JNICALL *RawMonitorNotifyAll) (jvmtiEnv* env,
845  jrawMonitorID monitor);
846  jvmtiError (JNICALL *SetBreakpoint) (jvmtiEnv* env,
847  jmethodID method,
849  jvmtiError (JNICALL *ClearBreakpoint) (jvmtiEnv* env,
850  jmethodID method,
852  void *reserved40;
853  jvmtiError (JNICALL *SetFieldAccessWatch) (jvmtiEnv* env,
855  jfieldID field);
856  jvmtiError (JNICALL *ClearFieldAccessWatch) (jvmtiEnv* env,
857  jclass klass,
858  jfieldID field);
859  jvmtiError (JNICALL *SetFieldModificationWatch) (jvmtiEnv* env,
860  jclass klass,
861  jfieldID field);
862  jvmtiError (JNICALL *ClearFieldModificationWatch) (jvmtiEnv* env,
863  jclass klass,
864  jfieldID field);
865  void *reserved45;
866  jvmtiError (JNICALL *Allocate) (jvmtiEnv* env,
867  jlong size,
868  unsigned char** mem_ptr);
869  jvmtiError (JNICALL *Deallocate) (jvmtiEnv* env,
870  unsigned char* mem);
871  jvmtiError (JNICALL *GetClassSignature) (jvmtiEnv* env,
873  char** signature_ptr,
874  char** generic_ptr);
875  jvmtiError (JNICALL *GetClassStatus) (jvmtiEnv* env,
877  jint* status_ptr);
878  jvmtiError (JNICALL *GetSourceFileName) (jvmtiEnv* env,
880  char** source_name_ptr);
881  jvmtiError (JNICALL *GetClassModifiers) (jvmtiEnv* env,
883  jint* modifiers_ptr);
884  jvmtiError (JNICALL *GetClassMethods) (jvmtiEnv* env,
886  jint* method_count_ptr,
887  jmethodID** methods_ptr);
888  jvmtiError (JNICALL *GetClassFields) (jvmtiEnv* env,
890  jint* field_count_ptr,
891  jfieldID** fields_ptr);
892  jvmtiError (JNICALL *GetImplementedInterfaces) (jvmtiEnv* env,
894  jint* interface_count_ptr,
896  jvmtiError (JNICALL *IsInterface) (jvmtiEnv* env,
898  jboolean* is_interface_ptr);
899  jvmtiError (JNICALL *IsArrayClass) (jvmtiEnv* env,
901  jboolean* is_array_class_ptr);
902  jvmtiError (JNICALL *GetClassLoader) (jvmtiEnv* env,
905  jvmtiError (JNICALL *GetObjectHashCode) (jvmtiEnv* env,
907  jint* hash_code_ptr);
908  jvmtiError (JNICALL *GetObjectMonitorUsage) (jvmtiEnv* env,
911  jvmtiError (JNICALL *GetFieldName) (jvmtiEnv* env,
913  jfieldID field,
914  char** name_ptr,
915  char** signature_ptr,
916  char** generic_ptr);
917  jvmtiError (JNICALL *GetFieldDeclaringClass) (jvmtiEnv* env,
919  jfieldID field,
921  jvmtiError (JNICALL *GetFieldModifiers) (jvmtiEnv* env,
923  jfieldID field,
924  jint* modifiers_ptr);
925  jvmtiError (JNICALL *IsFieldSynthetic) (jvmtiEnv* env,
927  jfieldID field,
928  jboolean* is_synthetic_ptr);
929  jvmtiError (JNICALL *GetMethodName) (jvmtiEnv* env,
930  jmethodID method,
931  char** name_ptr,
932  char** signature_ptr,
933  char** generic_ptr);
934  jvmtiError (JNICALL *GetMethodDeclaringClass) (jvmtiEnv* env,
935  jmethodID method,
937  jvmtiError (JNICALL *GetMethodModifiers) (jvmtiEnv* env,
938  jmethodID method,
939  jint* modifiers_ptr);
940  void *reserved67;
941  jvmtiError (JNICALL *GetMaxLocals) (jvmtiEnv* env,
942  jmethodID method,
943  jint* max_ptr);
944  jvmtiError (JNICALL *GetArgumentsSize) (jvmtiEnv* env,
945  jmethodID method,
946  jint* size_ptr);
947  jvmtiError (JNICALL *GetLineNumberTable) (jvmtiEnv* env,
948  jmethodID method,
949  jint* entry_count_ptr,
951  jvmtiError (JNICALL *GetMethodLocation) (jvmtiEnv* env,
952  jmethodID method,
955  jvmtiError (JNICALL *GetLocalVariableTable) (jvmtiEnv* env,
956  jmethodID method,
957  jint* entry_count_ptr,
959  void *reserved73;
960  void *reserved74;
961  jvmtiError (JNICALL *GetBytecodes) (jvmtiEnv* env,
962  jmethodID method,
963  jint* bytecode_count_ptr,
964  unsigned char** bytecodes_ptr);
965  jvmtiError (JNICALL *IsMethodNative) (jvmtiEnv* env,
966  jmethodID method,
967  jboolean* is_native_ptr);
968  jvmtiError (JNICALL *IsMethodSynthetic) (jvmtiEnv* env,
969  jmethodID method,
970  jboolean* is_synthetic_ptr);
971  jvmtiError (JNICALL *GetLoadedClasses) (jvmtiEnv* env,
973  jclass** classes_ptr);
974  jvmtiError (JNICALL *GetClassLoaderClasses) (jvmtiEnv* env,
976  jint* class_count_ptr,
977  jclass** classes_ptr);
978  jvmtiError (JNICALL *PopFrame) (jvmtiEnv* env,
979  jthread thread);
980  void *reserved81;
981  void *reserved82;
982  void *reserved83;
983  void *reserved84;
984  void *reserved85;
985  void *reserved86;
986  jvmtiError (JNICALL *RedefineClasses) (jvmtiEnv* env,
987  jint class_count,
989  jvmtiError (JNICALL *GetVersionNumber) (jvmtiEnv* env,
990  jint* version_ptr);
991  jvmtiError (JNICALL *GetCapabilities) (jvmtiEnv* env,
993  jvmtiError (JNICALL *GetSourceDebugExtension) (jvmtiEnv* env,
996  jvmtiError (JNICALL *IsMethodObsolete) (jvmtiEnv* env,
997  jmethodID method,
998  jboolean* is_obsolete_ptr);
999  jvmtiError (JNICALL *SuspendThreadList) (jvmtiEnv* env,
1001  const jthread* request_list,
1002  jvmtiError* results);
1003  jvmtiError (JNICALL *ResumeThreadList) (jvmtiEnv* env,
1004  jint request_count,
1005  const jthread* request_list,
1006  jvmtiError* results);
1007  void *reserved94;
1008  void *reserved95;
1009  void *reserved96;
1010  void *reserved97;
1011  void *reserved98;
1012  void *reserved99;
1013  jvmtiError (JNICALL *GetAllStackTraces) (jvmtiEnv* env,
1016  jint* thread_count_ptr);
1017  jvmtiError (JNICALL *GetThreadListStackTraces) (jvmtiEnv* env,
1019  const jthread* thread_list,
1020  jint max_frame_count,
1022  jvmtiError (JNICALL *GetThreadLocalStorage) (jvmtiEnv* env,
1024  void** data_ptr);
1025  jvmtiError (JNICALL *SetThreadLocalStorage) (jvmtiEnv* env,
1027  const void* data);
1028  jvmtiError (JNICALL *GetStackTrace) (jvmtiEnv* env,
1030  jint start_depth,
1031  jint max_frame_count,
1033  jint* count_ptr);
1035  jvmtiError (JNICALL *GetTag) (jvmtiEnv* env,
1037  jlong* tag_ptr);
1038  jvmtiError (JNICALL *SetTag) (jvmtiEnv* env,
1040  jlong tag);
1041  jvmtiError (JNICALL *ForceGarbageCollection) (jvmtiEnv* env);
1042  jvmtiError (JNICALL *IterateOverObjectsReachableFromObject) (jvmtiEnv* env,
1044  jvmtiObjectReferenceCallback object_reference_callback,
1045  void* user_data);
1046  jvmtiError (JNICALL *IterateOverReachableObjects) (jvmtiEnv* env,
1047  jvmtiHeapRootCallback heap_root_callback,
1048  jvmtiStackReferenceCallback stack_ref_callback,
1049  jvmtiObjectReferenceCallback object_ref_callback,
1050  void* user_data);
1051  jvmtiError (JNICALL *IterateOverHeap) (jvmtiEnv* env,
1053  jvmtiHeapObjectCallback heap_object_callback,
1054  void* user_data);
1055  jvmtiError (JNICALL *IterateOverInstancesOfClass) (jvmtiEnv* env,
1058  jvmtiHeapObjectCallback heap_object_callback,
1059  void* user_data);
1061  jvmtiError (JNICALL *GetObjectsWithTags) (jvmtiEnv* env,
1062  jint tag_count,
1063  const jlong* tags,
1064  jint* count_ptr,
1066  jlong** tag_result_ptr);
1072  jvmtiError (JNICALL *SetJNIFunctionTable) (jvmtiEnv* env,
1074  jvmtiError (JNICALL *GetJNIFunctionTable) (jvmtiEnv* env,
1076  jvmtiError (JNICALL *SetEventCallbacks) (jvmtiEnv* env,
1078  jint size_of_callbacks);
1079  jvmtiError (JNICALL *GenerateEvents) (jvmtiEnv* env,
1081  jvmtiError (JNICALL *GetExtensionFunctions) (jvmtiEnv* env,
1084  jvmtiError (JNICALL *GetExtensionEvents) (jvmtiEnv* env,
1087  jvmtiError (JNICALL *SetExtensionEventCallback) (jvmtiEnv* env,
1089  jvmtiExtensionEvent callback);
1090  jvmtiError (JNICALL *DisposeEnvironment) (jvmtiEnv* env);
1091  jvmtiError (JNICALL *GetErrorName) (jvmtiEnv* env,
1093  char** name_ptr);
1094  jvmtiError (JNICALL *GetJLocationFormat) (jvmtiEnv* env,
1096  jvmtiError (JNICALL *GetSystemProperties) (jvmtiEnv* env,
1097  jint* count_ptr,
1098  char*** property_ptr);
1099  jvmtiError (JNICALL *GetSystemProperty) (jvmtiEnv* env,
1100  const char* property,
1101  char** value_ptr);
1102  jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,
1103  const char* property,
1104  const char* value);
1105  jvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,
1107  jvmtiError (JNICALL *GetCurrentThreadCpuTimerInfo) (jvmtiEnv* env,
1109  jvmtiError (JNICALL *GetCurrentThreadCpuTime) (jvmtiEnv* env,
1110  jlong* nanos_ptr);
1111  jvmtiError (JNICALL *GetThreadCpuTimerInfo) (jvmtiEnv* env,
1113  jvmtiError (JNICALL *GetThreadCpuTime) (jvmtiEnv* env,
1115  jlong* nanos_ptr);
1116  jvmtiError (JNICALL *GetTimerInfo) (jvmtiEnv* env,
1118  jvmtiError (JNICALL *GetTime) (jvmtiEnv* env,
1119  jlong* nanos_ptr);
1120  jvmtiError (JNICALL *GetPotentialCapabilities) (jvmtiEnv* env,
1123  jvmtiError (JNICALL *AddCapabilities) (jvmtiEnv* env,
1125  jvmtiError (JNICALL *RelinquishCapabilities) (jvmtiEnv* env,
1127  jvmtiError (JNICALL *GetAvailableProcessors) (jvmtiEnv* env,
1131  jvmtiError (JNICALL *GetEnvironmentLocalStorage) (jvmtiEnv* env,
1132  void** data_ptr);
1133  jvmtiError (JNICALL *SetEnvironmentLocalStorage) (jvmtiEnv* env,
1134  const void* data);
1135  jvmtiError (JNICALL *AddToBootstrapClassLoaderSearch) (jvmtiEnv* env,
1136  const char* segment);
1137  jvmtiError (JNICALL *SetVerboseFlag) (jvmtiEnv* env,
1139  jboolean value);
1143  jvmtiError (JNICALL *GetObjectSize) (jvmtiEnv* env,
1145  jlong* size_ptr);
1146 };
1147 
1148 
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
1165 
1166 #define JVMTI_THREAD_MIN_PRIORITY 1
1167 #define JVMTI_THREAD_NORM_PRIORITY 5
1168 #define JVMTI_THREAD_MAX_PRIORITY 10
1169 
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
1176 
1177 #endif
1178 
1179 
1180 
1181 
1182 /*
1183  * These are local overrides for various environment variables in Emacs.
1184  * Please do not remove this and leave it at the end of the file, where
1185  * Emacs will automagically detect them.
1186  * ---------------------------------------------------------------------
1187  * Local variables:
1188  * mode: c
1189  * indent-tabs-mode: t
1190  * c-basic-offset: 4
1191  * tab-width: 4
1192  * End:
1193  */
static jvmtiError SetLocalObject(jvmtiEnv *env, jthread thread, jint depth, jint slot, jobject value)
Definition: jvmti.c:1342
jthread jint * thread_state_ptr
Definition: jvmti.h:769
static jvmtiError RunAgentThread(jvmtiEnv *env, jthread thread, jvmtiStartFunction proc, const void *arg, jint priority)
Definition: jvmti.c:856
jvmtiTimerKind
Definition: jvmti.h:565
jclass jfieldID char ** name_ptr
Definition: jvmti.h:912
jthreadGroup parent
Definition: jvmti.h:409
jobject jlong tag
Definition: jvmti.h:1039
struct _jrawMonitorID * jrawMonitorID
Definition: jvmti.h:46
jlong jlong jlong jlong jint jmethodID jint slot
Definition: jvmti.h:497
jint class_byte_count
Definition: jvmti.h:193
static jvmtiError GetMethodModifiers(jvmtiEnv *env, jmethodID method, jint *modifiers_ptr)
Definition: jvmti.c:2338
void * reserved141
Definition: jvmti.h:1122
static jvmtiError GetObjectsWithTags(jvmtiEnv *env, jint tag_count, const jlong *tags, jint *count_ptr, jobject **object_result_ptr, jlong **tag_result_ptr)
Definition: jvmti.c:3213
JNIEnv jthread jmethodID jlocation jclass jobject object
Definition: jvmti.h:221
static jvmtiError IsMethodNative(jvmtiEnv *env, jmethodID method, jboolean *is_native_ptr)
Definition: jvmti.c:2561
JNIEnv jclass class_being_redefined
Definition: jvmti.h:312
jlong jlong jlong jlong jint referrer_index
Definition: jvmti.h:481
jobject jlong * tag_ptr
Definition: jvmti.h:1036
struct JNINativeInterface jniNativeInterface
Definition: jvmti.h:197
jvmtiHeapObjectFilter jvmtiHeapObjectCallback heap_object_callback
Definition: jvmti.h:1052
static jvmtiError IsArrayClass(jvmtiEnv *env, jclass klass, jboolean *is_array_class_ptr)
Definition: jvmti.c:2051
jvmtiEventException Exception
Definition: jvmti.h:601
jlong jlong jlong jlong jint void * user_data
Definition: jvmti.h:481
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID field
Definition: jvmti.h:221
jvmtiCapabilities * capabilities_ptr
Definition: jvmti.h:992
JNIEnv jclass jobject const char jobject protection_domain
Definition: jvmti.h:312
jclass jint * status_ptr
Definition: jvmti.h:876
jobject initiating_loader
Definition: jvmti.h:975
jmethodID jint const void jint const jvmtiAddrLocationMap const void * compile_info
Definition: jvmti.h:338
void * reserved94
Definition: jvmti.h:1007
static jvmtiError GetExtensionEvents(jvmtiEnv *env, jint *extension_count_ptr, jvmtiExtensionEventInfo **extensions)
Definition: jvmti.c:3354
jvmtiEventReserved reserved72
Definition: jvmti.h:615
jclass jfieldID jclass * declaring_class_ptr
Definition: jvmti.h:918
jvmtiVerboseFlag flag
Definition: jvmti.h:1138
const void * data
Definition: jvmti.h:1134
jint char *** property_ptr
Definition: jvmti.h:1097
static jvmtiError GetMethodLocation(jvmtiEnv *env, jmethodID method, jlocation *start_location_ptr, jlocation *end_location_ptr)
Definition: jvmti.c:2461
jvmtiEventMonitorContendedEnter MonitorContendedEnter
Definition: jvmti.h:618
static jvmtiError NotifyFramePop(jvmtiEnv *env, jthread thread, jint depth)
Definition: jvmti.c:1227
jvmtiError * errors
Definition: jvmti.h:587
jthreadGroup jvmtiThreadGroupInfo * info_ptr
Definition: jvmti.h:757
const jniNativeInterface * function_table
Definition: jvmti.h:1073
jint jclass ** classes_ptr
Definition: jvmti.h:972
static jvmtiError GetThreadState(jvmtiEnv *env, jthread thread, jint *thread_state_ptr)
Definition: jvmti.c:1126
static jvmtiError Allocate(jvmtiEnv *env, jlong size, unsigned char **mem_ptr)
Definition: jvmti.c:1749
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback object_ref_callback
Definition: jvmti.h:1047
jmethodID jlocation jlocation * end_location_ptr
Definition: jvmti.h:952
jint * processor_count_ptr
Definition: jvmti.h:1128
static jvmtiError GetLocalObject(jvmtiEnv *env, jthread thread, jint depth, jint slot, jobject *value_ptr)
Definition: jvmti.c:1245
void * reserved118
Definition: jvmti.h:1070
static jvmtiError RedefineClasses(jvmtiEnv *env, jint class_count, const jvmtiClassDefinition *class_definitions)
Definition: jvmti.c:2680
jint const jlong * tags
Definition: jvmti.h:1062
_Jv_JNIEnv JNIEnv
Definition: jni.hpp:112
jmethodID method
Definition: jvmti.h:847
static jvmtiError GetSourceDebugExtension(jvmtiEnv *env, jclass klass, char **source_debug_extension_ptr)
Definition: jvmti.c:2737
jclass jfieldID char char ** signature_ptr
Definition: jvmti.h:912
static jvmtiError SetLocalInt(jvmtiEnv *env, jthread thread, jint depth, jint slot, jint value)
Definition: jvmti.c:1362
jboolean null_ok
Definition: jvmti.h:550
jvmtiEventGarbageCollectionStart GarbageCollectionStart
Definition: jvmti.h:624
jmethodID char char ** signature_ptr
Definition: jvmti.h:930
jvmtiVerboseFlag
Definition: jvmti.h:184
jvmtiEventCompiledMethodUnload CompiledMethodUnload
Definition: jvmti.h:612
static jvmtiError SetLocalFloat(jvmtiEnv *env, jthread thread, jint depth, jint slot, jfloat value)
Definition: jvmti.c:1402
jclass jvmtiHeapObjectFilter jvmtiHeapObjectCallback void * user_data
Definition: jvmti.h:1056
static jvmtiError GetStackTrace(jvmtiEnv *env, jthread thread, jint start_depth, jint max_frame_count, jvmtiFrameInfo *frame_buffer, jint *count_ptr)
Definition: jvmti.c:2847
JNIEnv jthread jmethodID void void ** new_address_ptr
Definition: jvmti.h:264
jniNativeInterface ** function_table
Definition: jvmti.h:1075
static jvmtiError GetThreadLocalStorage(jvmtiEnv *env, jthread thread, void **data_ptr)
Definition: jvmti.c:2975
jint request_count
Definition: jvmti.h:1000
static jvmtiError GetFieldModifiers(jvmtiEnv *env, jclass klass, jfieldID field, jint *modifiers_ptr)
Definition: jvmti.c:2220
jclass jint * modifiers_ptr
Definition: jvmti.h:882
static jvmtiError DisposeEnvironment(jvmtiEnv *env)
Definition: jvmti.c:3399
static jvmtiError SetEventCallbacks(jvmtiEnv *env, const jvmtiEventCallbacks *callbacks, jint size_of_callbacks)
Definition: jvmti.c:3280
jvmtiEventMode jvmtiEvent jthread event_thread
Definition: jvmti.h:721
jobject jvmtiMonitorUsage * info_ptr
Definition: jvmti.h:909
jclass jint jmethodID ** methods_ptr
Definition: jvmti.h:885
static jvmtiError InterruptThread(jvmtiEnv *env, jthread thread)
Definition: jvmti.c:647
jlocation start_location
Definition: jvmti.h:172
jthread const void * data
Definition: jvmti.h:1026
jobject jthreadGroup
Definition: jvmti.h:43
static jvmtiError DestroyRawMonitor(jvmtiEnv *env, jrawMonitorID monitor)
Definition: jvmti.c:1472
jthread * notify_waiters
Definition: jvmti.h:421
void * reserved84
Definition: jvmti.h:983
static jvmtiError PopFrame(jvmtiEnv *env, jthread thread)
Definition: jvmti.c:2661
jrawMonitorID monitor
Definition: jvmti.h:834
jint const jlong jint jobject jlong ** tag_result_ptr
Definition: jvmti.h:1062
jvmtiError SetThreadLocalStorage(jvmtiEnv *jenv, jthread thread, const void *data)
Definition: jvmti.c:3016
static jvmtiError GetThreadInfo(jvmtiEnv *env, jthread t, jvmtiThreadInfo *info_ptr)
Definition: jvmti.c:677
jint entry_count
Definition: jvmti.h:417
jclass klass
Definition: jvmti.h:854
typedef void(JNICALL *jvmtiEventSingleStep)(jvmtiEnv *jvmti_env
jlocation location
Definition: jvmti.h:201
static jvmtiError GetClassModifiers(jvmtiEnv *env, jclass klass, jint *modifiers_ptr)
Definition: jvmti.c:1895
jthread jint depth
Definition: jvmti.h:773
const jvmtiEventCallbacks jint size_of_callbacks
Definition: jvmti.h:1077
jvmtiError char ** name_ptr
Definition: jvmti.h:1092
JNIEnv jthread jobject jclass object_klass
Definition: jvmti.h:387
static jvmtiError GetClassFields(jvmtiEnv *env, jclass klass, jint *field_count_ptr, jfieldID **fields_ptr)
Definition: jvmti.c:1956
jvmtiEventExceptionCatch ExceptionCatch
Definition: jvmti.h:602
jthread jvmtiThreadInfo * info_ptr
Definition: jvmti.h:739
jthread jint jint jfloat value
Definition: jvmti.h:821
static jvmtiError StopThread(jvmtiEnv *env, jthread thread, jobject exception)
Definition: jvmti.c:627
void * reserved81
Definition: jvmti.h:980
void * reserved82
Definition: jvmti.h:981
const void * start_address
Definition: jvmti.h:200
jobject jvmtiObjectReferenceCallback void * user_data
Definition: jvmti.h:1043
JNIEnv jthread jobject jboolean timed_out
Definition: jvmti.h:380
static jvmtiError RawMonitorWait(jvmtiEnv *env, jrawMonitorID monitor, jlong millis)
Definition: jvmti.c:1552
JNIEnv jthread jclass klass
Definition: jvmti.h:300
void * reserved113
Definition: jvmti.h:1060
jint const jvmtiClassDefinition * class_definitions
Definition: jvmti.h:987
jvmtiEventMode mode
Definition: jvmti.h:721
jclass jint * field_count_ptr
Definition: jvmti.h:889
jmethodID jclass * declaring_class_ptr
Definition: jvmti.h:935
jvmtiEventFieldModification FieldModification
Definition: jvmti.h:607
static jvmtiError GetEnvironmentLocalStorage(jvmtiEnv *env, void **data_ptr)
Definition: jvmti.c:4065
static jvmtiError GetAvailableProcessors(jvmtiEnv *env, jint *processor_count_ptr)
Definition: jvmti.c:4042
jobject object
Definition: jvmti.h:906
jvmtiPhase * phase_ptr
Definition: jvmti.h:1106
static jvmtiError SetEventNotificationMode(jvmtiEnv *env, jvmtiEventMode mode, jvmtiEvent event_type, jthread event_thread,...)
Definition: jvmti.c:424
static jvmtiError ForceGarbageCollection(jvmtiEnv *env)
Definition: jvmti.c:3105
jmethodID jboolean * is_synthetic_ptr
Definition: jvmti.h:969
jint jvmtiExtensionFunctionInfo ** extensions
Definition: jvmti.h:1082
JNIEnv jclass jobject const char * name
Definition: jvmti.h:312
jthread jvmtiStartFunction const void * arg
Definition: jvmti.h:749
static jvmtiError GetJLocationFormat(jvmtiEnv *env, jvmtiJlocationFormat *format_ptr)
Definition: jvmti.c:3561
void * jvmtiEventReserved
Definition: jvmti.h:590
jvmtiEventNativeMethodBind NativeMethodBind
Definition: jvmti.h:610
static jvmtiError GetMethodDeclaringClass(jvmtiEnv *env, jmethodID method, jclass *declaring_class_ptr)
Definition: jvmti.c:2314
jint const jthread * thread_list
Definition: jvmti.h:1018
unsigned char * mem
Definition: jvmti.h:870
jthread thread
Definition: jvmti.h:730
jint * class_count_ptr
Definition: jvmti.h:972
static jvmtiError RelinquishCapabilities(jvmtiEnv *env, const jvmtiCapabilities *capabilities_ptr)
Definition: jvmti.c:3983
void * reserved115
Definition: jvmti.h:1067
void * reserved105
Definition: jvmti.h:1034
jclass jfieldID jint * modifiers_ptr
Definition: jvmti.h:922
JNIEnv jthread jobject jlong timeout
Definition: jvmti.h:373
static jvmtiError IsInterface(jvmtiEnv *env, jclass klass, jboolean *is_interface_ptr)
Definition: jvmti.c:2029
static jvmtiError GetFieldDeclaringClass(jvmtiEnv *env, jclass klass, jfieldID field, jclass *declaring_class_ptr)
Definition: jvmti.c:2189
jvmtiError error
Definition: jvmti.h:1092
jlong jlong jlong * tag_ptr
Definition: jvmti.h:481
JNIEnv jthread jobject jclass jlong size
Definition: jvmti.h:387
jobject jthread
Definition: jvmti.h:42
static jvmtiError SetFieldAccessWatch(jvmtiEnv *env, jclass klass, jfieldID field)
Definition: jvmti.c:1672
jlong reserved2
Definition: jvmti.h:577
jclass jint jfieldID ** fields_ptr
Definition: jvmti.h:889
static jvmtiError Deallocate(jvmtiEnv *env, unsigned char *mem)
Definition: jvmti.c:1771
jvmtiHeapRootCallback jvmtiStackReferenceCallback stack_ref_callback
Definition: jvmti.h:1047
jclass jfieldID jboolean * is_synthetic_ptr
Definition: jvmti.h:926
jvmtiEventFieldAccess FieldAccess
Definition: jvmti.h:606
static jvmtiError CreateRawMonitor(jvmtiEnv *env, const char *name, jrawMonitorID *monitor_ptr)
Definition: jvmti.c:1442
void * reserved85
Definition: jvmti.h:984
jvmtiEventMethodExit MethodExit
Definition: jvmti.h:609
static jvmtiError GetTime(jvmtiEnv *env, jlong *nanos_ptr)
Definition: jvmti.c:3863
jthread jint jmethodID jlocation * location_ptr
Definition: jvmti.h:773
jlocation start_location
Definition: jvmti.h:425
static jvmtiError GetLocalLong(jvmtiEnv *env, jthread thread, jint depth, jint slot, jlong *value_ptr)
Definition: jvmti.c:1282
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID char signature_type
Definition: jvmti.h:231
void * reserved96
Definition: jvmti.h:1009
void * reserved116
Definition: jvmti.h:1068
JNIEnv jclass jobject const char jobject jint class_data_len
Definition: jvmti.h:312
jmethodID jint const void * code_addr
Definition: jvmti.h:338
const char char ** value_ptr
Definition: jvmti.h:1100
jvmtiHeapObjectFilter object_filter
Definition: jvmti.h:1052
jmethodID jlocation * start_location_ptr
Definition: jvmti.h:952
static jvmtiError SuspendThreadList(jvmtiEnv *env, jint request_count, const jthread *request_list, jvmtiError *results)
Definition: jvmti.c:2779
static jvmtiError GetClassSignature(jvmtiEnv *env, jclass klass, char **signature_ptr, char **generic_ptr)
Definition: jvmti.c:1787
jvmtiHeapRootCallback heap_root_callback
Definition: jvmti.h:1047
jvmtiEventReserved reserved77
Definition: jvmti.h:620
jlong max_value
Definition: jvmti.h:572
void * reserved73
Definition: jvmti.h:959
jvmtiEventSingleStep SingleStep
Definition: jvmti.h:603
jthread jint start_depth
Definition: jvmti.h:1029
jthreadGroup thread_group
Definition: jvmti.h:180
jlong unsigned char ** mem_ptr
Definition: jvmti.h:867
jlong jlong jlong jlong jint depth
Definition: jvmti.h:497
jint * group_count_ptr
Definition: jvmti.h:754
jvmtiError
Definition: jvmti.h:49
jmethodID jint jvmtiLocalVariableEntry ** table_ptr
Definition: jvmti.h:956
jvmtiEventReserved reserved78
Definition: jvmti.h:621
static jvmtiError GetMethodName(jvmtiEnv *env, jmethodID method, char **name_ptr, char **signature_ptr, char **generic_ptr)
Definition: jvmti.c:2273
jint jvmtiExtensionEventInfo ** extensions
Definition: jvmti.h:1085
JNIEnv jthread jmethodID jlocation jobject exception
Definition: jvmti.h:272
void * reserved74
Definition: jvmti.h:960
JNIEnv void * arg
Definition: jvmti.h:405
jobject jlong * size_ptr
Definition: jvmti.h:1144
static jvmtiError IterateOverReachableObjects(jvmtiEnv *env, jvmtiHeapRootCallback heap_root_callback, jvmtiStackReferenceCallback stack_ref_callback, jvmtiObjectReferenceCallback object_ref_callback, void *user_data)
Definition: jvmti.c:3146
static jvmtiError GetOwnedMonitorInfo(jvmtiEnv *env, jthread thread, jint *owned_monitor_count_ptr, jobject **owned_monitors_ptr)
Definition: jvmti.c:706
jint const jthread * request_list
Definition: jvmti.h:1000
JNIEnv jthread jmethodID jlocation jobject jmethodID catch_method
Definition: jvmti.h:272
jvmtiEventMode
Definition: jvmti.h:630
jthread jobject * monitor_ptr
Definition: jvmti.h:746
static jvmtiError GetThreadCpuTime(jvmtiEnv *env, jthread thread, jlong *nanos_ptr)
Definition: jvmti.c:3827
static jvmtiError GetLocalDouble(jvmtiEnv *env, jthread thread, jint depth, jint slot, jdouble *value_ptr)
Definition: jvmti.c:1322
jint const jthread jvmtiError * results
Definition: jvmti.h:1000
static jvmtiError SuspendThread(jvmtiEnv *env, jthread thread)
Definition: jvmti.c:574
void * reserved151
Definition: jvmti.h:1140
jboolean may_skip_backward
Definition: jvmti.h:574
jmethodID jint code_size
Definition: jvmti.h:338
jint jvmtiStackInfo jint * thread_count_ptr
Definition: jvmti.h:1014
static jvmtiError RawMonitorNotify(jvmtiEnv *env, jrawMonitorID monitor)
Definition: jvmti.c:1581
jvmtiEventFramePop FramePop
Definition: jvmti.h:604
static jvmtiError GenerateEvents(jvmtiEnv *env, jvmtiEvent event_type)
Definition: jvmti.c:3311
static jvmtiError GetThreadCpuTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
Definition: jvmti.c:3808
JNIEnv jthread jmethodID method
Definition: jvmti.h:207
static jvmtiError IsMethodSynthetic(jvmtiEnv *env, jmethodID method, jboolean *is_synthetic_ptr)
Definition: jvmti.c:2588
static jvmtiError ClearFieldAccessWatch(jvmtiEnv *env, jclass klass, jfieldID field)
Definition: jvmti.c:1691
void * reserved152
Definition: jvmti.h:1141
jthread jint jint jdouble * value_ptr
Definition: jvmti.h:801
jthread void ** data_ptr
Definition: jvmti.h:1023
static jvmtiError GetObjectMonitorUsage(jvmtiEnv *env, jobject object, jvmtiMonitorUsage *info_ptr)
Definition: jvmti.c:2122
jvmtiEventDynamicCodeGenerated DynamicCodeGenerated
Definition: jvmti.h:613
void * reserved97
Definition: jvmti.h:1010
jvmtiEventVMObjectAlloc VMObjectAlloc
Definition: jvmti.h:627
char * name
Definition: jvmti.h:547
static jvmtiError GetPotentialCapabilities(jvmtiEnv *env, jvmtiCapabilities *capabilities_ptr)
Definition: jvmti.c:3888
void * reserved98
Definition: jvmti.h:1011
const char * name
Definition: jvmti.h:831
jvmtiEventVMDeath VMDeath
Definition: jvmti.h:594
static jvmtiError GetSystemProperty(jvmtiEnv *env, const char *property, char **value_ptr)
Definition: jvmti.c:3655
jvmtiParamInfo * params
Definition: jvmti.h:585
jvmtiFrameInfo * frame_buffer
Definition: jvmti.h:441
jclass char ** source_debug_extension_ptr
Definition: jvmti.h:994
void * reserved45
Definition: jvmti.h:865
static jvmtiError GetSystemProperties(jvmtiEnv *env, jint *count_ptr, char ***property_ptr)
Definition: jvmti.c:3576
jvmtiEventDataDumpRequest DataDumpRequest
Definition: jvmti.h:614
static jvmtiError GetAllThreads(jvmtiEnv *env, jint *threads_count_ptr, jthread **threads_ptr)
Definition: jvmti.c:540
static jvmtiError SetEnvironmentLocalStorage(jvmtiEnv *env, const void *data)
Definition: jvmti.c:4082
jvmtiParamTypes
Definition: jvmti.h:526
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback void * user_data
Definition: jvmti.h:1047
static jvmtiError GetFieldName(jvmtiEnv *env, jclass klass, jfieldID field, char **name_ptr, char **signature_ptr, char **generic_ptr)
Definition: jvmti.c:2143
jthread jobject exception
Definition: jvmti.h:734
char * name
Definition: jvmti.h:177
JNIEnv jthread jmethodID jboolean was_popped_by_exception
Definition: jvmti.h:243
jclass char ** source_name_ptr
Definition: jvmti.h:879
void * reserved86
Definition: jvmti.h:985
jint jthread ** threads_ptr
Definition: jvmti.h:727
jvmtiIterationControl
Definition: jvmti.h:463
void * reserved99
Definition: jvmti.h:1012
const char * segment
Definition: jvmti.h:1136
jthread jint jint jobject * value_ptr
Definition: jvmti.h:781
jvmtiEventClassFileLoadHook ClassFileLoadHook
Definition: jvmti.h:597
jmethodID jint * max_ptr
Definition: jvmti.h:942
jvmtiEvent event_type
Definition: jvmti.h:1080
jvmtiEventGarbageCollectionFinish GarbageCollectionFinish
Definition: jvmti.h:625
jlong size
Definition: jvmti.h:867
jthread jint * count_ptr
Definition: jvmti.h:766
jlong jlong jlong jlong thread_tag
Definition: jvmti.h:497
static jvmtiError AddCapabilities(jvmtiEnv *env, const jvmtiCapabilities *capabilities_ptr)
Definition: jvmti.c:3919
JNIEnv jthread thread
Definition: jvmti.h:207
void * reserved40
Definition: jvmti.h:852
jclass jfieldID field
Definition: jvmti.h:854
jvmtiParamKind kind
Definition: jvmti.h:548
void * reserved145
Definition: jvmti.h:1129
jvmtiEventReserved reserved80
Definition: jvmti.h:623
void * reserved119
Definition: jvmti.h:1071
jvmtiEventBreakpoint Breakpoint
Definition: jvmti.h:605
jlong tag
Definition: jvmti.h:395
JNIEnv jthread jmethodID void * address
Definition: jvmti.h:264
static jvmtiError GetLocalFloat(jvmtiEnv *env, jthread thread, jint depth, jint slot, jfloat *value_ptr)
Definition: jvmti.c:1302
jthread jint jint jlong value
Definition: jvmti.h:816
static jvmtiError GetSourceFileName(jvmtiEnv *env, jclass klass, char **source_name_ptr)
Definition: jvmti.c:1864
jthread jlong * nanos_ptr
Definition: jvmti.h:1114
void * reserved83
Definition: jvmti.h:982
static jvmtiError GetCurrentThreadCpuTime(jvmtiEnv *env, jlong *nanos_ptr)
Definition: jvmti.c:3789
jclass jint jclass ** interfaces_ptr
Definition: jvmti.h:893
void * reserved18
Definition: jvmti.h:771
jboolean may_skip_forward
Definition: jvmti.h:573
jmethodID jint * bytecode_count_ptr
Definition: jvmti.h:962
jint tag_count
Definition: jvmti.h:1062
jthread jint jint jfloat * value_ptr
Definition: jvmti.h:796
jvmtiError(JNICALL *SetEventNotificationMode)(jvmtiEnv *env
JNIEnv jclass jobject loader
Definition: jvmti.h:312
static jvmtiError GetExtensionFunctions(jvmtiEnv *env, jint *extension_count_ptr, jvmtiExtensionFunctionInfo **extensions)
Definition: jvmti.c:3329
static jvmtiError SetLocalLong(jvmtiEnv *env, jthread thread, jint depth, jint slot, jlong value)
Definition: jvmti.c:1382
static jvmtiError GetLocalVariableTable(jvmtiEnv *env, jmethodID method, jint *entry_count_ptr, jvmtiLocalVariableEntry **table_ptr)
Definition: jvmti.c:2508
jint frame_count
Definition: jvmti.h:442
jvmtiEventReserved reserved79
Definition: jvmti.h:622
void * reserved67
Definition: jvmti.h:940
JNIEnv jclass jobject const char jobject jint const unsigned char jint unsigned char ** new_class_data
Definition: jvmti.h:312
jthread jint jmethodID * method_ptr
Definition: jvmti.h:773
jmethodID jint * modifiers_ptr
Definition: jvmti.h:938
JNIEnv * jni_env
Definition: jvmti.h:207
static jvmtiError GetObjectSize(jvmtiEnv *env, jobject object, jlong *size_ptr)
Definition: jvmti.c:4157
jmethodID jboolean * is_obsolete_ptr
Definition: jvmti.h:997
jint extension_event_index
Definition: jvmti.h:554
static jvmtiError IterateOverInstancesOfClass(jvmtiEnv *env, jclass klass, jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void *user_data)
Definition: jvmti.c:3191
static jvmtiError GetCapabilities(jvmtiEnv *env, jvmtiCapabilities *capabilities_ptr)
Definition: jvmti.c:2720
static jvmtiError SetLocalDouble(jvmtiEnv *env, jthread thread, jint depth, jint slot, jdouble value)
Definition: jvmti.c:1422
static jvmtiError GetPhase(jvmtiEnv *env, jvmtiPhase *phase_ptr)
Definition: jvmti.c:3753
static jvmtiError GetImplementedInterfaces(jvmtiEnv *env, jclass klass, jint *interface_count_ptr, jclass **interfaces_ptr)
Definition: jvmti.c:1985
const jvmtiEventCallbacks * callbacks
Definition: jvmti.h:1077
jvmtiEventVMInit VMInit
Definition: jvmti.h:593
JNIEnv jthread jmethodID jlocation jobject jmethodID jlocation catch_location
Definition: jvmti.h:272
jvmtiEventCompiledMethodLoad CompiledMethodLoad
Definition: jvmti.h:611
JNIEnv jthread jmethodID jboolean jvalue return_value
Definition: jvmti.h:256
jthread jvmtiStartFunction const void jint priority
Definition: jvmti.h:749
static jvmtiError GetCurrentContendedMonitor(jvmtiEnv *env, jthread thread, jobject *monitor_ptr)
Definition: jvmti.c:779
jthreadGroup jint jthread ** threads_ptr
Definition: jvmti.h:760
jrawMonitorID jlong millis
Definition: jvmti.h:840
static jvmtiError GetLoadedClasses(jvmtiEnv *env, jint *class_count_ptr, jclass **classes_ptr)
Definition: jvmti.c:2609
jint jvmtiStackInfo ** stack_info_ptr
Definition: jvmti.h:1014
static jvmtiError SetBreakpoint(jvmtiEnv *env, jmethodID method, jlocation location)
Definition: jvmti.c:1633
jthread jint jint jobject value
Definition: jvmti.h:806
static jvmtiError SetJNIFunctionTable(jvmtiEnv *env, const jniNativeInterface *function_table)
Definition: jvmti.c:3234
jlong reserved1
Definition: jvmti.h:576
jvmtiVerboseFlag jboolean value
Definition: jvmti.h:1138
jthread jint jint slot
Definition: jvmti.h:781
jint * extension_count_ptr
Definition: jvmti.h:1082
static jvmtiError SetSystemProperty(jvmtiEnv *env, const char *property, const char *value)
Definition: jvmti.c:3707
static jvmtiError GetErrorName(jvmtiEnv *env, jvmtiError error, char **name_ptr)
Definition: jvmti.c:3447
static jvmtiError GetObjectHashCode(jvmtiEnv *env, jobject object, jint *hash_code_ptr)
Definition: jvmti.c:2098
static jvmtiError RawMonitorNotifyAll(jvmtiEnv *env, jrawMonitorID monitor)
Definition: jvmti.c:1607
jvmtiEventMethodEntry MethodEntry
Definition: jvmti.h:608
static jvmtiError IsFieldSynthetic(jvmtiEnv *env, jclass klass, jfieldID field, jboolean *is_synthetic_ptr)
Definition: jvmti.c:2251
jvmtiTimerKind kind
Definition: jvmti.h:575
jmethodID jboolean * is_native_ptr
Definition: jvmti.h:966
static jvmtiError GetTag(jvmtiEnv *env, jobject object, jlong *tag_ptr)
Definition: jvmti.c:3066
static jvmtiError IterateOverHeap(jvmtiEnv *env, jvmtiHeapObjectFilter object_filter, jvmtiHeapObjectCallback heap_object_callback, void *user_data)
Definition: jvmti.c:3170
static jvmtiError GetClassLoaderClasses(jvmtiEnv *env, jobject initiating_loader, jint *class_count_ptr, jclass **classes_ptr)
Definition: jvmti.c:2635
static jvmtiError ResumeThreadList(jvmtiEnv *env, jint request_count, const jthread *request_list, jvmtiError *results)
Definition: jvmti.c:2819
static jvmtiError IterateOverObjectsReachableFromObject(jvmtiEnv *env, jobject object, jvmtiObjectReferenceCallback object_reference_callback, void *user_data)
Definition: jvmti.c:3124
jlong jlocation
Definition: jvmti.h:44
jlong * nanos_ptr
Definition: jvmti.h:1110
jint const jlong jint jobject ** object_result_ptr
Definition: jvmti.h:1062
static jvmtiError GetBytecodes(jvmtiEnv *env, jmethodID method, jint *bytecode_count_ptr, unsigned char **bytecodes_ptr)
Definition: jvmti.c:2531
static jvmtiError RawMonitorExit(jvmtiEnv *env, jrawMonitorID monitor)
Definition: jvmti.c:1526
jvmtiEvent
Definition: jvmti.h:635
static jvmtiError GetThreadListStackTraces(jvmtiEnv *env, jint thread_count, const jthread *thread_list, jint max_frame_count, jvmtiStackInfo **stack_info_ptr)
Definition: jvmti.c:2899
jthreadGroup group
Definition: jvmti.h:757
jthread * waiters
Definition: jvmti.h:419
jvmtiEventThreadStart ThreadStart
Definition: jvmti.h:595
jclass jboolean * is_interface_ptr
Definition: jvmti.h:897
jvmtiEventMonitorWaited MonitorWaited
Definition: jvmti.h:617
jboolean is_daemon
Definition: jvmti.h:179
jvmtiHeapObjectFilter
Definition: jvmti.h:445
jint priority
Definition: jvmti.h:178
jclass jint * interface_count_ptr
Definition: jvmti.h:893
static jvmtiError SetExtensionEventCallback(jvmtiEnv *env, jint extension_event_index, jvmtiExtensionEvent callback)
Definition: jvmti.c:3379
jvmtiPhase
Definition: jvmti.h:156
jclass char ** signature_ptr
Definition: jvmti.h:872
jint extension_event_index
Definition: jvmti.h:1088
jvmtiParamKind
Definition: jvmti.h:516
static jvmtiError GetFrameCount(jvmtiEnv *env, jthread thread, jint *count_ptr)
Definition: jvmti.c:1088
jmethodID jint const void jint const jvmtiAddrLocationMap * map
Definition: jvmti.h:338
jthread jint jint jdouble value
Definition: jvmti.h:826
jobject jvmtiObjectReferenceCallback object_reference_callback
Definition: jvmti.h:1043
static jvmtiError IsMethodObsolete(jvmtiEnv *env, jmethodID method, jboolean *is_obsolete_ptr)
Definition: jvmti.c:2758
JNIEnv jthread jmethodID jlocation jclass jobject jfieldID char jvalue new_value
Definition: jvmti.h:231
jobject jint * hash_code_ptr
Definition: jvmti.h:906
jvmtiJlocationFormat * format_ptr
Definition: jvmti.h:1095
jobject context_class_loader
Definition: jvmti.h:181
static jvmtiError GetCurrentThreadCpuTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
Definition: jvmti.c:3769
static jvmtiError GetTopThreadGroups(jvmtiEnv *env, jint *group_count_ptr, jthreadGroup **groups_ptr)
Definition: jvmti.c:909
void * reserved146
Definition: jvmti.h:1130
jvmtiJlocationFormat
Definition: jvmti.h:165
static jvmtiError GetLocalInt(jvmtiEnv *env, jthread thread, jint depth, jint slot, jint *value_ptr)
Definition: jvmti.c:1264
jthread jint * owned_monitor_count_ptr
Definition: jvmti.h:742
jvmtiParamTypes base_type
Definition: jvmti.h:549
jmethodID jint unsigned char ** bytecodes_ptr
Definition: jvmti.h:962
static jvmtiError GetVersionNumber(jvmtiEnv *env, jint *version_ptr)
Definition: jvmti.c:2702
char * generic_signature
Definition: jvmti.h:429
static jvmtiError GetClassStatus(jvmtiEnv *env, jclass klass, jint *status_ptr)
Definition: jvmti.c:1820
jthread jint jint jvmtiFrameInfo * frame_buffer
Definition: jvmti.h:1029
jvmtiHeapObjectFilter jvmtiHeapObjectCallback void * user_data
Definition: jvmti.h:1052
void ** data_ptr
Definition: jvmti.h:1132
const unsigned char * class_bytes
Definition: jvmti.h:194
struct jvmtiEnv_struct * jvmtiEnv
Definition: jvmti.h:47
jthread jint jint jint * value_ptr
Definition: jvmti.h:786
static jvmtiError RawMonitorEnter(jvmtiEnv *env, jrawMonitorID monitor)
Definition: jvmti.c:1504
static jvmtiError GetClassLoader(jvmtiEnv *env, jclass klass, jobject *classloader_ptr)
Definition: jvmti.c:2075
jvmtiParamInfo * params
Definition: jvmti.h:558
static jvmtiError GetClassMethods(jvmtiEnv *env, jclass klass, jint *method_count_ptr, jmethodID **methods_ptr)
Definition: jvmti.c:1921
jint class_count
Definition: jvmti.h:987
static jvmtiError SetFieldModificationWatch(jvmtiEnv *env, jclass klass, jfieldID field)
Definition: jvmti.c:1710
jvmtiEventMode jvmtiEvent jthread void * reserved3
Definition: jvmti.h:721
jlocation location
Definition: jvmti.h:435
jvmtiEventMode jvmtiEvent event_type
Definition: jvmti.h:721
void * reserved117
Definition: jvmti.h:1069
jvmtiEventMonitorWait MonitorWait
Definition: jvmti.h:616
jint notify_waiter_count
Definition: jvmti.h:420
jmethodID jint * entry_count_ptr
Definition: jvmti.h:948
void * reserved153
Definition: jvmti.h:1142
jmethodID jlocation location
Definition: jvmti.h:847
jclass jboolean * is_array_class_ptr
Definition: jvmti.h:900
jint * version_ptr
Definition: jvmti.h:990
jvmtiEventThreadEnd ThreadEnd
Definition: jvmti.h:596
jvmtiTimerInfo * info_ptr
Definition: jvmti.h:1108
jint jvmtiExtensionEvent callback
Definition: jvmti.h:1088
jclass jint * method_count_ptr
Definition: jvmti.h:885
JNIEnv jthread jmethodID jlocation jclass field_klass
Definition: jvmti.h:221
static jvmtiError GetLineNumberTable(jvmtiEnv *env, jmethodID method, jint *entry_count_ptr, jvmtiLineNumberEntry **table_ptr)
Definition: jvmti.c:2416
jvmtiEventClassLoad ClassLoad
Definition: jvmti.h:598
static jvmtiError AddToBootstrapClassLoaderSearch(jvmtiEnv *env, const char *segment)
Definition: jvmti.c:4099
jvmtiEventMonitorContendedEntered MonitorContendedEntered
Definition: jvmti.h:619
jint * threads_count_ptr
Definition: jvmti.h:727
static jvmtiError ClearBreakpoint(jvmtiEnv *env, jmethodID method, jlocation location)
Definition: jvmti.c:1653
void * reserved95
Definition: jvmti.h:1008
static jvmtiError GetTimerInfo(jvmtiEnv *env, jvmtiTimerInfo *info_ptr)
Definition: jvmti.c:3844
jboolean is_daemon
Definition: jvmti.h:412
static jvmtiError ResumeThread(jvmtiEnv *env, jthread thread)
Definition: jvmti.c:600
static jvmtiError GetArgumentsSize(jvmtiEnv *env, jmethodID method, jint *size_ptr)
Definition: jvmti.c:2390
jthread jint jint jint value
Definition: jvmti.h:811
static jvmtiError ClearFieldModificationWatch(jvmtiEnv *env, jclass klass, jfieldID field)
Definition: jvmti.c:1729
jmethodID jint * size_ptr
Definition: jvmti.h:945
jthreadGroup jint * thread_count_ptr
Definition: jvmti.h:760
JNIEnv jclass jobject const char jobject jint const unsigned char jint * new_class_data_len
Definition: jvmti.h:312
char * short_description
Definition: jvmti.h:556
jvmtiEventVMStart VMStart
Definition: jvmti.h:600
jthread thread
Definition: jvmti.h:439
jvmtiHeapRootKind
Definition: jvmti.h:469
JNIEnv jthread jmethodID jlocation location
Definition: jvmti.h:207
jint state
Definition: jvmti.h:440
JNIEnv jclass jobject const char jobject jint const unsigned char * class_data
Definition: jvmti.h:312
jvmtiEventClassPrepare ClassPrepare
Definition: jvmti.h:599
jclass char char ** generic_ptr
Definition: jvmti.h:872
jlong jlong jlong jlong referrer_tag
Definition: jvmti.h:481
jint jthreadGroup ** groups_ptr
Definition: jvmti.h:754
jvmtiExtensionFunction func
Definition: jvmti.h:581
static jvmtiError GetJNIFunctionTable(jvmtiEnv *env, jniNativeInterface **function_table)
Definition: jvmti.c:3257
jint thread_count
Definition: jvmti.h:1018
const char const void jint length
Definition: jvmti.h:352
jmethodID jint jvmtiLineNumberEntry ** table_ptr
Definition: jvmti.h:948
jvmtiObjectReferenceKind
Definition: jvmti.h:451
jlong class_tag
Definition: jvmti.h:481
static jvmtiError SetVerboseFlag(jvmtiEnv *env, jvmtiVerboseFlag flag, jboolean value)
Definition: jvmti.c:4128
static jvmtiError GetFrameLocation(jvmtiEnv *env, jthread thread, jint depth, jmethodID *method_ptr, jlocation *location_ptr)
Definition: jvmti.c:1177
const char * property
Definition: jvmti.h:1100
jthread jint jint jlong * value_ptr
Definition: jvmti.h:791
static jvmtiError GetMaxLocals(jvmtiEnv *env, jmethodID method, jint *max_ptr)
Definition: jvmti.c:2363
jvmtiEventObjectFree ObjectFree
Definition: jvmti.h:626
const jvmtiCapabilities * capabilities_ptr
Definition: jvmti.h:1124
jthread owner
Definition: jvmti.h:416
const char const char * value
Definition: jvmti.h:1103
jclass jobject * classloader_ptr
Definition: jvmti.h:903
void * reserved1
Definition: jvmti.h:719
jthread jint jobject ** owned_monitors_ptr
Definition: jvmti.h:742
jint waiter_count
Definition: jvmti.h:418
jint max_frame_count
Definition: jvmti.h:1014
jmethodID jint const void jint map_length
Definition: jvmti.h:338
static jvmtiError GetAllStackTraces(jvmtiEnv *env, jint max_frame_count, jvmtiStackInfo **stack_info_ptr, jint *thread_count_ptr)
Definition: jvmti.c:2944
static jvmtiError GetThreadGroupChildren(jvmtiEnv *env, jthreadGroup group, jint *thread_count_ptr, jthread **threads_ptr, jint *group_count_ptr, jthreadGroup **groups_ptr)
Definition: jvmti.c:1012
jthread jvmtiStartFunction proc
Definition: jvmti.h:749
static jvmtiError GetThreadGroupInfo(jvmtiEnv *env, jthreadGroup group, jvmtiThreadGroupInfo *info_ptr)
Definition: jvmti.c:972
static jvmtiError SetTag(jvmtiEnv *env, jobject object, jlong tag)
Definition: jvmti.c:3085
jmethodID method
Definition: jvmti.h:434