Crossfire JXClient, Trunk
jvmti.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation. Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 
26  /* AUTOMATICALLY GENERATED FILE - DO NOT EDIT */
27 
28 
29  /* Include file for the Java(tm) Virtual Machine Tool Interface */
30 
31 #ifndef _JAVA_JVMTI_H_
32 #define _JAVA_JVMTI_H_
33 
34 #include "jni.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 enum {
41  JVMTI_VERSION_1 = 0x30010000,
42  JVMTI_VERSION_1_0 = 0x30010000,
43  JVMTI_VERSION_1_1 = 0x30010100,
44  JVMTI_VERSION_1_2 = 0x30010200,
45 
46  JVMTI_VERSION = 0x30000000 + (1 * 0x10000) + (2 * 0x100) + 1 /* version: 1.2.1 */
47 };
48 
50 Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
51 
53 Agent_OnAttach(JavaVM* vm, char* options, void* reserved);
54 
55 JNIEXPORT void JNICALL
57 
58  /* Forward declaration of the environment */
59 
60 struct _jvmtiEnv;
61 
62 struct jvmtiInterface_1_;
63 
64 #ifdef __cplusplus
65 typedef _jvmtiEnv jvmtiEnv;
66 #else
67 typedef const struct jvmtiInterface_1_ *jvmtiEnv;
68 #endif /* __cplusplus */
69 
70 /* Derived Base Types */
71 
72 typedef jobject jthread;
74 typedef jlong jlocation;
75 struct _jrawMonitorID;
76 typedef struct _jrawMonitorID *jrawMonitorID;
78 
79  /* Constants */
80 
81 
82  /* Thread State Flags */
83 
84 enum {
101 };
102 
103  /* java.lang.Thread.State Conversion Masks */
104 
105 enum {
113 };
114 
115  /* Thread Priority Constants */
116 
117 enum {
121 };
122 
123  /* Heap Filter Flags */
124 
125 enum {
130 };
131 
132  /* Heap Visit Control Flags */
133 
134 enum {
137 };
138 
139  /* Heap Reference Enumeration */
140 
141 typedef enum {
160 
161  /* Primitive Type Enumeration */
162 
163 typedef enum {
173 
174  /* Heap Object Filter Enumeration */
175 
176 typedef enum {
181 
182  /* Heap Root Kind Enumeration */
183 
184 typedef enum {
193 
194  /* Object Reference Enumeration */
195 
196 typedef enum {
207 
208  /* Iteration Control Enumeration */
209 
210 typedef enum {
215 
216  /* Class Status Flags */
217 
218 enum {
225 };
226 
227  /* Event Enable/Disable */
228 
229 typedef enum {
233 
234  /* Extension Function/Event Parameter Types */
235 
236 typedef enum {
255 
256  /* Extension Function/Event Parameter Kinds */
257 
258 typedef enum {
267 
268  /* Timer Kinds */
269 
270 typedef enum {
275 
276  /* Phases of execution */
277 
278 typedef enum {
284 } jvmtiPhase;
285 
286  /* Version Interface Types */
287 
288 enum {
291 };
292 
293  /* Version Masks */
294 
295 enum {
300 };
301 
302  /* Version Shifts */
303 
304 enum {
308 };
309 
310  /* Verbose Flag Enumeration */
311 
312 typedef enum {
318 
319  /* JLocation Format Enumeration */
320 
321 typedef enum {
326 
327  /* Resource Exhaustion Flags */
328 
329 enum {
333 };
334 
335  /* Errors */
336 
337 typedef enum {
388 } jvmtiError;
389 
390  /* Event IDs */
391 
392 typedef enum {
426 } jvmtiEvent;
427 
428 
429  /* Pre-Declarations */
430 struct _jvmtiThreadInfo;
434 struct _jvmtiThreadGroupInfo;
436 struct _jvmtiFrameInfo;
438 struct _jvmtiStackInfo;
454 struct _jvmtiHeapCallbacks;
456 struct _jvmtiClassDefinition;
458 struct _jvmtiMonitorUsage;
460 struct _jvmtiLineNumberEntry;
464 struct _jvmtiParamInfo;
470 struct _jvmtiTimerInfo;
472 struct _jvmtiAddrLocationMap;
474 
475  /* Function Types */
476 
477 typedef void (JNICALL *jvmtiStartFunction)
478  (jvmtiEnv* jvmti_env, JNIEnv* jni_env, void* arg);
479 
481  (jlong class_tag, jlong size, jlong* tag_ptr, jint length, void* user_data);
482 
484  (jvmtiHeapReferenceKind reference_kind, const jvmtiHeapReferenceInfo* reference_info, jlong class_tag, jlong referrer_class_tag, jlong size, jlong* tag_ptr, jlong* referrer_tag_ptr, jint length, void* user_data);
485 
487  (jvmtiHeapReferenceKind kind, const jvmtiHeapReferenceInfo* info, jlong object_class_tag, jlong* object_tag_ptr, jvalue value, jvmtiPrimitiveType value_type, void* user_data);
488 
490  (jlong class_tag, jlong size, jlong* tag_ptr, jint element_count, jvmtiPrimitiveType element_type, const void* elements, void* user_data);
491 
493  (jlong class_tag, jlong size, jlong* tag_ptr, const jchar* value, jint value_length, void* user_data);
494 
496  ();
497 
499  (jlong class_tag, jlong size, jlong* tag_ptr, void* user_data);
500 
502  (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong* tag_ptr, void* user_data);
503 
505  (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong* tag_ptr, jlong thread_tag, jint depth, jmethodID method, jint slot, void* user_data);
506 
508  (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size, jlong* tag_ptr, jlong referrer_tag, jint referrer_index, void* user_data);
509 
511  (jvmtiEnv* jvmti_env, ...);
512 
513 typedef void (JNICALL *jvmtiExtensionEvent)
514  (jvmtiEnv* jvmti_env, ...);
515 
516 
517  /* Structure Types */
519  char* name;
524 };
528 };
531  char* name;
534 };
538 };
544 };
547 };
550 };
553 };
561 };
567 };
577 };
585 };
603 };
607  const unsigned char* class_bytes;
608 };
616 };
620 };
624  char* name;
625  char* signature;
628 };
630  char* name;
634 };
637  char* id;
643 };
646  char* id;
650 };
658 };
660  const void* start_address;
662 };
663 
664 typedef struct {
665  unsigned int can_tag_objects : 1;
668  unsigned int can_get_bytecodes : 1;
669  unsigned int can_get_synthetic_attribute : 1;
670  unsigned int can_get_owned_monitor_info : 1;
672  unsigned int can_get_monitor_info : 1;
673  unsigned int can_pop_frame : 1;
674  unsigned int can_redefine_classes : 1;
675  unsigned int can_signal_thread : 1;
676  unsigned int can_get_source_file_name : 1;
677  unsigned int can_get_line_numbers : 1;
679  unsigned int can_access_local_variables : 1;
685  unsigned int can_suspend : 1;
686  unsigned int can_redefine_any_class : 1;
688  unsigned int can_get_thread_cpu_time : 1;
693  unsigned int can_generate_monitor_events : 1;
698  unsigned int can_force_early_return : 1;
700  unsigned int can_get_constant_pool : 1;
702  unsigned int can_retransform_classes : 1;
703  unsigned int can_retransform_any_class : 1;
706  unsigned int : 7;
707  unsigned int : 16;
708  unsigned int : 16;
709  unsigned int : 16;
710  unsigned int : 16;
711  unsigned int : 16;
713 
714 
715  /* Event Definitions */
716 
717 typedef void (JNICALL *jvmtiEventReserved)(void);
718 
719 
720 typedef void (JNICALL *jvmtiEventBreakpoint)
721  (jvmtiEnv *jvmti_env,
722  JNIEnv* jni_env,
723  jthread thread,
724  jmethodID method,
725  jlocation location);
726 
727 typedef void (JNICALL *jvmtiEventClassFileLoadHook)
728  (jvmtiEnv *jvmti_env,
729  JNIEnv* jni_env,
730  jclass class_being_redefined,
731  jobject loader,
732  const char* name,
733  jobject protection_domain,
734  jint class_data_len,
735  const unsigned char* class_data,
736  jint* new_class_data_len,
737  unsigned char** new_class_data);
738 
739 typedef void (JNICALL *jvmtiEventClassLoad)
740  (jvmtiEnv *jvmti_env,
741  JNIEnv* jni_env,
742  jthread thread,
743  jclass klass);
744 
745 typedef void (JNICALL *jvmtiEventClassPrepare)
746  (jvmtiEnv *jvmti_env,
747  JNIEnv* jni_env,
748  jthread thread,
749  jclass klass);
750 
752  (jvmtiEnv *jvmti_env,
753  jmethodID method,
754  jint code_size,
755  const void* code_addr,
756  jint map_length,
757  const jvmtiAddrLocationMap* map,
758  const void* compile_info);
759 
761  (jvmtiEnv *jvmti_env,
762  jmethodID method,
763  const void* code_addr);
764 
765 typedef void (JNICALL *jvmtiEventDataDumpRequest)
766  (jvmtiEnv *jvmti_env);
767 
769  (jvmtiEnv *jvmti_env,
770  const char* name,
771  const void* address,
772  jint length);
773 
774 typedef void (JNICALL *jvmtiEventException)
775  (jvmtiEnv *jvmti_env,
776  JNIEnv* jni_env,
777  jthread thread,
778  jmethodID method,
779  jlocation location,
780  jobject exception,
781  jmethodID catch_method,
782  jlocation catch_location);
783 
784 typedef void (JNICALL *jvmtiEventExceptionCatch)
785  (jvmtiEnv *jvmti_env,
786  JNIEnv* jni_env,
787  jthread thread,
788  jmethodID method,
789  jlocation location,
790  jobject exception);
791 
792 typedef void (JNICALL *jvmtiEventFieldAccess)
793  (jvmtiEnv *jvmti_env,
794  JNIEnv* jni_env,
795  jthread thread,
796  jmethodID method,
797  jlocation location,
798  jclass field_klass,
799  jobject object,
800  jfieldID field);
801 
802 typedef void (JNICALL *jvmtiEventFieldModification)
803  (jvmtiEnv *jvmti_env,
804  JNIEnv* jni_env,
805  jthread thread,
806  jmethodID method,
807  jlocation location,
808  jclass field_klass,
809  jobject object,
810  jfieldID field,
811  char signature_type,
812  jvalue new_value);
813 
814 typedef void (JNICALL *jvmtiEventFramePop)
815  (jvmtiEnv *jvmti_env,
816  JNIEnv* jni_env,
817  jthread thread,
818  jmethodID method,
819  jboolean was_popped_by_exception);
820 
822  (jvmtiEnv *jvmti_env);
823 
825  (jvmtiEnv *jvmti_env);
826 
827 typedef void (JNICALL *jvmtiEventMethodEntry)
828  (jvmtiEnv *jvmti_env,
829  JNIEnv* jni_env,
830  jthread thread,
831  jmethodID method);
832 
833 typedef void (JNICALL *jvmtiEventMethodExit)
834  (jvmtiEnv *jvmti_env,
835  JNIEnv* jni_env,
836  jthread thread,
837  jmethodID method,
838  jboolean was_popped_by_exception,
839  jvalue return_value);
840 
842  (jvmtiEnv *jvmti_env,
843  JNIEnv* jni_env,
844  jthread thread,
845  jobject object);
846 
848  (jvmtiEnv *jvmti_env,
849  JNIEnv* jni_env,
850  jthread thread,
851  jobject object);
852 
853 typedef void (JNICALL *jvmtiEventMonitorWait)
854  (jvmtiEnv *jvmti_env,
855  JNIEnv* jni_env,
856  jthread thread,
857  jobject object,
858  jlong timeout);
859 
860 typedef void (JNICALL *jvmtiEventMonitorWaited)
861  (jvmtiEnv *jvmti_env,
862  JNIEnv* jni_env,
863  jthread thread,
864  jobject object,
865  jboolean timed_out);
866 
867 typedef void (JNICALL *jvmtiEventNativeMethodBind)
868  (jvmtiEnv *jvmti_env,
869  JNIEnv* jni_env,
870  jthread thread,
871  jmethodID method,
872  void* address,
873  void** new_address_ptr);
874 
875 typedef void (JNICALL *jvmtiEventObjectFree)
876  (jvmtiEnv *jvmti_env,
877  jlong tag);
878 
879 typedef void (JNICALL *jvmtiEventResourceExhausted)
880  (jvmtiEnv *jvmti_env,
881  JNIEnv* jni_env,
882  jint flags,
883  const void* reserved,
884  const char* description);
885 
886 typedef void (JNICALL *jvmtiEventSingleStep)
887  (jvmtiEnv *jvmti_env,
888  JNIEnv* jni_env,
889  jthread thread,
890  jmethodID method,
891  jlocation location);
892 
893 typedef void (JNICALL *jvmtiEventThreadEnd)
894  (jvmtiEnv *jvmti_env,
895  JNIEnv* jni_env,
896  jthread thread);
897 
898 typedef void (JNICALL *jvmtiEventThreadStart)
899  (jvmtiEnv *jvmti_env,
900  JNIEnv* jni_env,
901  jthread thread);
902 
903 typedef void (JNICALL *jvmtiEventVMDeath)
904  (jvmtiEnv *jvmti_env,
905  JNIEnv* jni_env);
906 
907 typedef void (JNICALL *jvmtiEventVMInit)
908  (jvmtiEnv *jvmti_env,
909  JNIEnv* jni_env,
910  jthread thread);
911 
912 typedef void (JNICALL *jvmtiEventVMObjectAlloc)
913  (jvmtiEnv *jvmti_env,
914  JNIEnv* jni_env,
915  jthread thread,
916  jobject object,
917  jclass object_klass,
918  jlong size);
919 
920 typedef void (JNICALL *jvmtiEventVMStart)
921  (jvmtiEnv *jvmti_env,
922  JNIEnv* jni_env);
923 
924  /* Event Callback Structure */
925 
926 typedef struct {
927  /* 50 : VM Initialization Event */
929  /* 51 : VM Death Event */
931  /* 52 : Thread Start */
933  /* 53 : Thread End */
935  /* 54 : Class File Load Hook */
937  /* 55 : Class Load */
939  /* 56 : Class Prepare */
941  /* 57 : VM Start Event */
943  /* 58 : Exception */
945  /* 59 : Exception Catch */
947  /* 60 : Single Step */
949  /* 61 : Frame Pop */
951  /* 62 : Breakpoint */
953  /* 63 : Field Access */
955  /* 64 : Field Modification */
957  /* 65 : Method Entry */
959  /* 66 : Method Exit */
961  /* 67 : Native Method Bind */
963  /* 68 : Compiled Method Load */
965  /* 69 : Compiled Method Unload */
967  /* 70 : Dynamic Code Generated */
969  /* 71 : Data Dump Request */
971  /* 72 */
973  /* 73 : Monitor Wait */
975  /* 74 : Monitor Waited */
977  /* 75 : Monitor Contended Enter */
979  /* 76 : Monitor Contended Entered */
981  /* 77 */
983  /* 78 */
985  /* 79 */
987  /* 80 : Resource Exhausted */
989  /* 81 : Garbage Collection Start */
991  /* 82 : Garbage Collection Finish */
993  /* 83 : Object Free */
995  /* 84 : VM Object Allocation */
998 
999 
1000  /* Function Interface */
1001 
1002 typedef struct jvmtiInterface_1_ {
1003 
1004  /* 1 : RESERVED */
1005  void *reserved1;
1006 
1007  /* 2 : Set Event Notification Mode */
1008  jvmtiError (JNICALL *SetEventNotificationMode) (jvmtiEnv* env,
1012  ...);
1013 
1014  /* 3 : RESERVED */
1015  void *reserved3;
1016 
1017  /* 4 : Get All Threads */
1018  jvmtiError (JNICALL *GetAllThreads) (jvmtiEnv* env,
1021 
1022  /* 5 : Suspend Thread */
1023  jvmtiError (JNICALL *SuspendThread) (jvmtiEnv* env,
1025 
1026  /* 6 : Resume Thread */
1027  jvmtiError (JNICALL *ResumeThread) (jvmtiEnv* env,
1028  jthread thread);
1029 
1030  /* 7 : Stop Thread */
1031  jvmtiError (JNICALL *StopThread) (jvmtiEnv* env,
1032  jthread thread,
1034 
1035  /* 8 : Interrupt Thread */
1036  jvmtiError (JNICALL *InterruptThread) (jvmtiEnv* env,
1037  jthread thread);
1038 
1039  /* 9 : Get Thread Info */
1040  jvmtiError (JNICALL *GetThreadInfo) (jvmtiEnv* env,
1041  jthread thread,
1043 
1044  /* 10 : Get Owned Monitor Info */
1045  jvmtiError (JNICALL *GetOwnedMonitorInfo) (jvmtiEnv* env,
1046  jthread thread,
1049 
1050  /* 11 : Get Current Contended Monitor */
1051  jvmtiError (JNICALL *GetCurrentContendedMonitor) (jvmtiEnv* env,
1052  jthread thread,
1054 
1055  /* 12 : Run Agent Thread */
1056  jvmtiError (JNICALL *RunAgentThread) (jvmtiEnv* env,
1057  jthread thread,
1059  const void* arg,
1061 
1062  /* 13 : Get Top Thread Groups */
1063  jvmtiError (JNICALL *GetTopThreadGroups) (jvmtiEnv* env,
1066 
1067  /* 14 : Get Thread Group Info */
1068  jvmtiError (JNICALL *GetThreadGroupInfo) (jvmtiEnv* env,
1071 
1072  /* 15 : Get Thread Group Children */
1073  jvmtiError (JNICALL *GetThreadGroupChildren) (jvmtiEnv* env,
1079 
1080  /* 16 : Get Frame Count */
1081  jvmtiError (JNICALL *GetFrameCount) (jvmtiEnv* env,
1082  jthread thread,
1084 
1085  /* 17 : Get Thread State */
1086  jvmtiError (JNICALL *GetThreadState) (jvmtiEnv* env,
1087  jthread thread,
1089 
1090  /* 18 : Get Current Thread */
1091  jvmtiError (JNICALL *GetCurrentThread) (jvmtiEnv* env,
1093 
1094  /* 19 : Get Frame Location */
1095  jvmtiError (JNICALL *GetFrameLocation) (jvmtiEnv* env,
1096  jthread thread,
1100 
1101  /* 20 : Notify Frame Pop */
1102  jvmtiError (JNICALL *NotifyFramePop) (jvmtiEnv* env,
1103  jthread thread,
1104  jint depth);
1105 
1106  /* 21 : Get Local Variable - Object */
1107  jvmtiError (JNICALL *GetLocalObject) (jvmtiEnv* env,
1108  jthread thread,
1109  jint depth,
1112 
1113  /* 22 : Get Local Variable - Int */
1114  jvmtiError (JNICALL *GetLocalInt) (jvmtiEnv* env,
1115  jthread thread,
1116  jint depth,
1117  jint slot,
1119 
1120  /* 23 : Get Local Variable - Long */
1121  jvmtiError (JNICALL *GetLocalLong) (jvmtiEnv* env,
1122  jthread thread,
1123  jint depth,
1124  jint slot,
1126 
1127  /* 24 : Get Local Variable - Float */
1128  jvmtiError (JNICALL *GetLocalFloat) (jvmtiEnv* env,
1129  jthread thread,
1130  jint depth,
1131  jint slot,
1133 
1134  /* 25 : Get Local Variable - Double */
1135  jvmtiError (JNICALL *GetLocalDouble) (jvmtiEnv* env,
1136  jthread thread,
1137  jint depth,
1138  jint slot,
1140 
1141  /* 26 : Set Local Variable - Object */
1142  jvmtiError (JNICALL *SetLocalObject) (jvmtiEnv* env,
1143  jthread thread,
1144  jint depth,
1145  jint slot,
1147 
1148  /* 27 : Set Local Variable - Int */
1149  jvmtiError (JNICALL *SetLocalInt) (jvmtiEnv* env,
1150  jthread thread,
1151  jint depth,
1152  jint slot,
1154 
1155  /* 28 : Set Local Variable - Long */
1156  jvmtiError (JNICALL *SetLocalLong) (jvmtiEnv* env,
1157  jthread thread,
1158  jint depth,
1159  jint slot,
1161 
1162  /* 29 : Set Local Variable - Float */
1163  jvmtiError (JNICALL *SetLocalFloat) (jvmtiEnv* env,
1164  jthread thread,
1165  jint depth,
1166  jint slot,
1168 
1169  /* 30 : Set Local Variable - Double */
1170  jvmtiError (JNICALL *SetLocalDouble) (jvmtiEnv* env,
1171  jthread thread,
1172  jint depth,
1173  jint slot,
1175 
1176  /* 31 : Create Raw Monitor */
1177  jvmtiError (JNICALL *CreateRawMonitor) (jvmtiEnv* env,
1178  const char* name,
1180 
1181  /* 32 : Destroy Raw Monitor */
1182  jvmtiError (JNICALL *DestroyRawMonitor) (jvmtiEnv* env,
1184 
1185  /* 33 : Raw Monitor Enter */
1186  jvmtiError (JNICALL *RawMonitorEnter) (jvmtiEnv* env,
1188 
1189  /* 34 : Raw Monitor Exit */
1190  jvmtiError (JNICALL *RawMonitorExit) (jvmtiEnv* env,
1192 
1193  /* 35 : Raw Monitor Wait */
1194  jvmtiError (JNICALL *RawMonitorWait) (jvmtiEnv* env,
1197 
1198  /* 36 : Raw Monitor Notify */
1199  jvmtiError (JNICALL *RawMonitorNotify) (jvmtiEnv* env,
1201 
1202  /* 37 : Raw Monitor Notify All */
1203  jvmtiError (JNICALL *RawMonitorNotifyAll) (jvmtiEnv* env,
1205 
1206  /* 38 : Set Breakpoint */
1207  jvmtiError (JNICALL *SetBreakpoint) (jvmtiEnv* env,
1210 
1211  /* 39 : Clear Breakpoint */
1212  jvmtiError (JNICALL *ClearBreakpoint) (jvmtiEnv* env,
1213  jmethodID method,
1215 
1216  /* 40 : RESERVED */
1217  void *reserved40;
1218 
1219  /* 41 : Set Field Access Watch */
1220  jvmtiError (JNICALL *SetFieldAccessWatch) (jvmtiEnv* env,
1223 
1224  /* 42 : Clear Field Access Watch */
1225  jvmtiError (JNICALL *ClearFieldAccessWatch) (jvmtiEnv* env,
1226  jclass klass,
1227  jfieldID field);
1228 
1229  /* 43 : Set Field Modification Watch */
1230  jvmtiError (JNICALL *SetFieldModificationWatch) (jvmtiEnv* env,
1231  jclass klass,
1232  jfieldID field);
1233 
1234  /* 44 : Clear Field Modification Watch */
1235  jvmtiError (JNICALL *ClearFieldModificationWatch) (jvmtiEnv* env,
1236  jclass klass,
1237  jfieldID field);
1238 
1239  /* 45 : Is Modifiable Class */
1240  jvmtiError (JNICALL *IsModifiableClass) (jvmtiEnv* env,
1241  jclass klass,
1243 
1244  /* 46 : Allocate */
1245  jvmtiError (JNICALL *Allocate) (jvmtiEnv* env,
1247  unsigned char** mem_ptr);
1248 
1249  /* 47 : Deallocate */
1250  jvmtiError (JNICALL *Deallocate) (jvmtiEnv* env,
1251  unsigned char* mem);
1252 
1253  /* 48 : Get Class Signature */
1254  jvmtiError (JNICALL *GetClassSignature) (jvmtiEnv* env,
1255  jclass klass,
1257  char** generic_ptr);
1258 
1259  /* 49 : Get Class Status */
1260  jvmtiError (JNICALL *GetClassStatus) (jvmtiEnv* env,
1261  jclass klass,
1263 
1264  /* 50 : Get Source File Name */
1265  jvmtiError (JNICALL *GetSourceFileName) (jvmtiEnv* env,
1266  jclass klass,
1268 
1269  /* 51 : Get Class Modifiers */
1270  jvmtiError (JNICALL *GetClassModifiers) (jvmtiEnv* env,
1271  jclass klass,
1273 
1274  /* 52 : Get Class Methods */
1275  jvmtiError (JNICALL *GetClassMethods) (jvmtiEnv* env,
1276  jclass klass,
1279 
1280  /* 53 : Get Class Fields */
1281  jvmtiError (JNICALL *GetClassFields) (jvmtiEnv* env,
1282  jclass klass,
1285 
1286  /* 54 : Get Implemented Interfaces */
1287  jvmtiError (JNICALL *GetImplementedInterfaces) (jvmtiEnv* env,
1288  jclass klass,
1291 
1292  /* 55 : Is Interface */
1293  jvmtiError (JNICALL *IsInterface) (jvmtiEnv* env,
1294  jclass klass,
1296 
1297  /* 56 : Is Array Class */
1298  jvmtiError (JNICALL *IsArrayClass) (jvmtiEnv* env,
1299  jclass klass,
1301 
1302  /* 57 : Get Class Loader */
1303  jvmtiError (JNICALL *GetClassLoader) (jvmtiEnv* env,
1304  jclass klass,
1306 
1307  /* 58 : Get Object Hash Code */
1308  jvmtiError (JNICALL *GetObjectHashCode) (jvmtiEnv* env,
1311 
1312  /* 59 : Get Object Monitor Usage */
1313  jvmtiError (JNICALL *GetObjectMonitorUsage) (jvmtiEnv* env,
1314  jobject object,
1316 
1317  /* 60 : Get Field Name (and Signature) */
1318  jvmtiError (JNICALL *GetFieldName) (jvmtiEnv* env,
1319  jclass klass,
1320  jfieldID field,
1321  char** name_ptr,
1323  char** generic_ptr);
1324 
1325  /* 61 : Get Field Declaring Class */
1326  jvmtiError (JNICALL *GetFieldDeclaringClass) (jvmtiEnv* env,
1327  jclass klass,
1328  jfieldID field,
1330 
1331  /* 62 : Get Field Modifiers */
1332  jvmtiError (JNICALL *GetFieldModifiers) (jvmtiEnv* env,
1333  jclass klass,
1334  jfieldID field,
1336 
1337  /* 63 : Is Field Synthetic */
1338  jvmtiError (JNICALL *IsFieldSynthetic) (jvmtiEnv* env,
1339  jclass klass,
1340  jfieldID field,
1342 
1343  /* 64 : Get Method Name (and Signature) */
1344  jvmtiError (JNICALL *GetMethodName) (jvmtiEnv* env,
1345  jmethodID method,
1346  char** name_ptr,
1348  char** generic_ptr);
1349 
1350  /* 65 : Get Method Declaring Class */
1351  jvmtiError (JNICALL *GetMethodDeclaringClass) (jvmtiEnv* env,
1352  jmethodID method,
1354 
1355  /* 66 : Get Method Modifiers */
1356  jvmtiError (JNICALL *GetMethodModifiers) (jvmtiEnv* env,
1357  jmethodID method,
1359 
1360  /* 67 : RESERVED */
1361  void *reserved67;
1362 
1363  /* 68 : Get Max Locals */
1364  jvmtiError (JNICALL *GetMaxLocals) (jvmtiEnv* env,
1365  jmethodID method,
1367 
1368  /* 69 : Get Arguments Size */
1369  jvmtiError (JNICALL *GetArgumentsSize) (jvmtiEnv* env,
1370  jmethodID method,
1372 
1373  /* 70 : Get Line Number Table */
1374  jvmtiError (JNICALL *GetLineNumberTable) (jvmtiEnv* env,
1375  jmethodID method,
1378 
1379  /* 71 : Get Method Location */
1380  jvmtiError (JNICALL *GetMethodLocation) (jvmtiEnv* env,
1381  jmethodID method,
1384 
1385  /* 72 : Get Local Variable Table */
1386  jvmtiError (JNICALL *GetLocalVariableTable) (jvmtiEnv* env,
1387  jmethodID method,
1390 
1391  /* 73 : Set Native Method Prefix */
1392  jvmtiError (JNICALL *SetNativeMethodPrefix) (jvmtiEnv* env,
1393  const char* prefix);
1394 
1395  /* 74 : Set Native Method Prefixes */
1396  jvmtiError (JNICALL *SetNativeMethodPrefixes) (jvmtiEnv* env,
1398  char** prefixes);
1399 
1400  /* 75 : Get Bytecodes */
1401  jvmtiError (JNICALL *GetBytecodes) (jvmtiEnv* env,
1402  jmethodID method,
1404  unsigned char** bytecodes_ptr);
1405 
1406  /* 76 : Is Method Native */
1407  jvmtiError (JNICALL *IsMethodNative) (jvmtiEnv* env,
1408  jmethodID method,
1410 
1411  /* 77 : Is Method Synthetic */
1412  jvmtiError (JNICALL *IsMethodSynthetic) (jvmtiEnv* env,
1413  jmethodID method,
1415 
1416  /* 78 : Get Loaded Classes */
1420 
1421  /* 79 : Get Classloader Classes */
1422  jvmtiError (JNICALL *GetClassLoaderClasses) (jvmtiEnv* env,
1426 
1427  /* 80 : Pop Frame */
1428  jvmtiError (JNICALL *PopFrame) (jvmtiEnv* env,
1429  jthread thread);
1430 
1431  /* 81 : Force Early Return - Object */
1432  jvmtiError (JNICALL *ForceEarlyReturnObject) (jvmtiEnv* env,
1433  jthread thread,
1435 
1436  /* 82 : Force Early Return - Int */
1437  jvmtiError (JNICALL *ForceEarlyReturnInt) (jvmtiEnv* env,
1438  jthread thread,
1440 
1441  /* 83 : Force Early Return - Long */
1442  jvmtiError (JNICALL *ForceEarlyReturnLong) (jvmtiEnv* env,
1443  jthread thread,
1445 
1446  /* 84 : Force Early Return - Float */
1447  jvmtiError (JNICALL *ForceEarlyReturnFloat) (jvmtiEnv* env,
1448  jthread thread,
1450 
1451  /* 85 : Force Early Return - Double */
1452  jvmtiError (JNICALL *ForceEarlyReturnDouble) (jvmtiEnv* env,
1453  jthread thread,
1455 
1456  /* 86 : Force Early Return - Void */
1457  jvmtiError (JNICALL *ForceEarlyReturnVoid) (jvmtiEnv* env,
1458  jthread thread);
1459 
1460  /* 87 : Redefine Classes */
1461  jvmtiError (JNICALL *RedefineClasses) (jvmtiEnv* env,
1464 
1465  /* 88 : Get Version Number */
1466  jvmtiError (JNICALL *GetVersionNumber) (jvmtiEnv* env,
1468 
1469  /* 89 : Get Capabilities */
1470  jvmtiError (JNICALL *GetCapabilities) (jvmtiEnv* env,
1472 
1473  /* 90 : Get Source Debug Extension */
1474  jvmtiError (JNICALL *GetSourceDebugExtension) (jvmtiEnv* env,
1475  jclass klass,
1477 
1478  /* 91 : Is Method Obsolete */
1479  jvmtiError (JNICALL *IsMethodObsolete) (jvmtiEnv* env,
1480  jmethodID method,
1482 
1483  /* 92 : Suspend Thread List */
1484  jvmtiError (JNICALL *SuspendThreadList) (jvmtiEnv* env,
1488 
1489  /* 93 : Resume Thread List */
1490  jvmtiError (JNICALL *ResumeThreadList) (jvmtiEnv* env,
1492  const jthread* request_list,
1493  jvmtiError* results);
1494 
1495  /* 94 : RESERVED */
1496  void *reserved94;
1497 
1498  /* 95 : RESERVED */
1499  void *reserved95;
1500 
1501  /* 96 : RESERVED */
1502  void *reserved96;
1503 
1504  /* 97 : RESERVED */
1505  void *reserved97;
1506 
1507  /* 98 : RESERVED */
1508  void *reserved98;
1509 
1510  /* 99 : RESERVED */
1511  void *reserved99;
1512 
1513  /* 100 : Get All Stack Traces */
1514  jvmtiError (JNICALL *GetAllStackTraces) (jvmtiEnv* env,
1518 
1519  /* 101 : Get Thread List Stack Traces */
1520  jvmtiError (JNICALL *GetThreadListStackTraces) (jvmtiEnv* env,
1525 
1526  /* 102 : Get Thread Local Storage */
1527  jvmtiError (JNICALL *GetThreadLocalStorage) (jvmtiEnv* env,
1528  jthread thread,
1529  void** data_ptr);
1530 
1531  /* 103 : Set Thread Local Storage */
1532  jvmtiError (JNICALL *SetThreadLocalStorage) (jvmtiEnv* env,
1533  jthread thread,
1534  const void* data);
1535 
1536  /* 104 : Get Stack Trace */
1537  jvmtiError (JNICALL *GetStackTrace) (jvmtiEnv* env,
1538  jthread thread,
1543 
1544  /* 105 : RESERVED */
1546 
1547  /* 106 : Get Tag */
1548  jvmtiError (JNICALL *GetTag) (jvmtiEnv* env,
1549  jobject object,
1551 
1552  /* 107 : Set Tag */
1554  jobject object,
1556 
1557  /* 108 : Force Garbage Collection */
1558  jvmtiError (JNICALL *ForceGarbageCollection) (jvmtiEnv* env);
1559 
1560  /* 109 : Iterate Over Objects Reachable From Object */
1561  jvmtiError (JNICALL *IterateOverObjectsReachableFromObject) (jvmtiEnv* env,
1562  jobject object,
1564  const void* user_data);
1565 
1566  /* 110 : Iterate Over Reachable Objects */
1567  jvmtiError (JNICALL *IterateOverReachableObjects) (jvmtiEnv* env,
1571  const void* user_data);
1572 
1573  /* 111 : Iterate Over Heap */
1574  jvmtiError (JNICALL *IterateOverHeap) (jvmtiEnv* env,
1577  const void* user_data);
1578 
1579  /* 112 : Iterate Over Instances Of Class */
1580  jvmtiError (JNICALL *IterateOverInstancesOfClass) (jvmtiEnv* env,
1581  jclass klass,
1584  const void* user_data);
1585 
1586  /* 113 : RESERVED */
1588 
1589  /* 114 : Get Objects With Tags */
1590  jvmtiError (JNICALL *GetObjectsWithTags) (jvmtiEnv* env,
1592  const jlong* tags,
1596 
1597  /* 115 : Follow References */
1598  jvmtiError (JNICALL *FollowReferences) (jvmtiEnv* env,
1603  const void* user_data);
1604 
1605  /* 116 : Iterate Through Heap */
1607  jint heap_filter,
1608  jclass klass,
1610  const void* user_data);
1611 
1612  /* 117 : RESERVED */
1614 
1615  /* 118 : RESERVED */
1617 
1618  /* 119 : RESERVED */
1620 
1621  /* 120 : Set JNI Function Table */
1622  jvmtiError (JNICALL *SetJNIFunctionTable) (jvmtiEnv* env,
1624 
1625  /* 121 : Get JNI Function Table */
1626  jvmtiError (JNICALL *GetJNIFunctionTable) (jvmtiEnv* env,
1628 
1629  /* 122 : Set Event Callbacks */
1630  jvmtiError (JNICALL *SetEventCallbacks) (jvmtiEnv* env,
1633 
1634  /* 123 : Generate Events */
1635  jvmtiError (JNICALL *GenerateEvents) (jvmtiEnv* env,
1637 
1638  /* 124 : Get Extension Functions */
1639  jvmtiError (JNICALL *GetExtensionFunctions) (jvmtiEnv* env,
1642 
1643  /* 125 : Get Extension Events */
1644  jvmtiError (JNICALL *GetExtensionEvents) (jvmtiEnv* env,
1647 
1648  /* 126 : Set Extension Event Callback */
1649  jvmtiError (JNICALL *SetExtensionEventCallback) (jvmtiEnv* env,
1652 
1653  /* 127 : Dispose Environment */
1654  jvmtiError (JNICALL *DisposeEnvironment) (jvmtiEnv* env);
1655 
1656  /* 128 : Get Error Name */
1657  jvmtiError (JNICALL *GetErrorName) (jvmtiEnv* env,
1659  char** name_ptr);
1660 
1661  /* 129 : Get JLocation Format */
1662  jvmtiError (JNICALL *GetJLocationFormat) (jvmtiEnv* env,
1664 
1665  /* 130 : Get System Properties */
1666  jvmtiError (JNICALL *GetSystemProperties) (jvmtiEnv* env,
1668  char*** property_ptr);
1669 
1670  /* 131 : Get System Property */
1671  jvmtiError (JNICALL *GetSystemProperty) (jvmtiEnv* env,
1672  const char* property,
1673  char** value_ptr);
1674 
1675  /* 132 : Set System Property */
1676  jvmtiError (JNICALL *SetSystemProperty) (jvmtiEnv* env,
1677  const char* property,
1678  const char* value);
1679 
1680  /* 133 : Get Phase */
1681  jvmtiError (JNICALL *GetPhase) (jvmtiEnv* env,
1683 
1684  /* 134 : Get Current Thread CPU Timer Information */
1685  jvmtiError (JNICALL *GetCurrentThreadCpuTimerInfo) (jvmtiEnv* env,
1687 
1688  /* 135 : Get Current Thread CPU Time */
1689  jvmtiError (JNICALL *GetCurrentThreadCpuTime) (jvmtiEnv* env,
1691 
1692  /* 136 : Get Thread CPU Timer Information */
1693  jvmtiError (JNICALL *GetThreadCpuTimerInfo) (jvmtiEnv* env,
1695 
1696  /* 137 : Get Thread CPU Time */
1697  jvmtiError (JNICALL *GetThreadCpuTime) (jvmtiEnv* env,
1698  jthread thread,
1700 
1701  /* 138 : Get Timer Information */
1702  jvmtiError (JNICALL *GetTimerInfo) (jvmtiEnv* env,
1704 
1705  /* 139 : Get Time */
1706  jvmtiError (JNICALL *GetTime) (jvmtiEnv* env,
1707  jlong* nanos_ptr);
1708 
1709  /* 140 : Get Potential Capabilities */
1710  jvmtiError (JNICALL *GetPotentialCapabilities) (jvmtiEnv* env,
1712 
1713  /* 141 : RESERVED */
1715 
1716  /* 142 : Add Capabilities */
1717  jvmtiError (JNICALL *AddCapabilities) (jvmtiEnv* env,
1719 
1720  /* 143 : Relinquish Capabilities */
1721  jvmtiError (JNICALL *RelinquishCapabilities) (jvmtiEnv* env,
1723 
1724  /* 144 : Get Available Processors */
1725  jvmtiError (JNICALL *GetAvailableProcessors) (jvmtiEnv* env,
1727 
1728  /* 145 : Get Class Version Numbers */
1729  jvmtiError (JNICALL *GetClassVersionNumbers) (jvmtiEnv* env,
1730  jclass klass,
1733 
1734  /* 146 : Get Constant Pool */
1735  jvmtiError (JNICALL *GetConstantPool) (jvmtiEnv* env,
1736  jclass klass,
1739  unsigned char** constant_pool_bytes_ptr);
1740 
1741  /* 147 : Get Environment Local Storage */
1742  jvmtiError (JNICALL *GetEnvironmentLocalStorage) (jvmtiEnv* env,
1743  void** data_ptr);
1744 
1745  /* 148 : Set Environment Local Storage */
1746  jvmtiError (JNICALL *SetEnvironmentLocalStorage) (jvmtiEnv* env,
1747  const void* data);
1748 
1749  /* 149 : Add To Bootstrap Class Loader Search */
1750  jvmtiError (JNICALL *AddToBootstrapClassLoaderSearch) (jvmtiEnv* env,
1751  const char* segment);
1752 
1753  /* 150 : Set Verbose Flag */
1754  jvmtiError (JNICALL *SetVerboseFlag) (jvmtiEnv* env,
1757 
1758  /* 151 : Add To System Class Loader Search */
1759  jvmtiError (JNICALL *AddToSystemClassLoaderSearch) (jvmtiEnv* env,
1760  const char* segment);
1761 
1762  /* 152 : Retransform Classes */
1763  jvmtiError (JNICALL *RetransformClasses) (jvmtiEnv* env,
1764  jint class_count,
1765  const jclass* classes);
1766 
1767  /* 153 : Get Owned Monitor Stack Depth Info */
1768  jvmtiError (JNICALL *GetOwnedMonitorStackDepthInfo) (jvmtiEnv* env,
1769  jthread thread,
1772 
1773  /* 154 : Get Object Size */
1774  jvmtiError (JNICALL *GetObjectSize) (jvmtiEnv* env,
1775  jobject object,
1777 
1778  /* 155 : Get Local Instance */
1779  jvmtiError (JNICALL *GetLocalInstance) (jvmtiEnv* env,
1780  jthread thread,
1781  jint depth,
1783 
1785 
1786 struct _jvmtiEnv {
1788 #ifdef __cplusplus
1789 
1790 
1791  jvmtiError Allocate(jlong size,
1792  unsigned char** mem_ptr) {
1793  return functions->Allocate(this, size, mem_ptr);
1794  }
1795 
1796  jvmtiError Deallocate(unsigned char* mem) {
1797  return functions->Deallocate(this, mem);
1798  }
1799 
1800  jvmtiError GetThreadState(jthread thread,
1802  return functions->GetThreadState(this, thread, thread_state_ptr);
1803  }
1804 
1805  jvmtiError GetCurrentThread(jthread* thread_ptr) {
1806  return functions->GetCurrentThread(this, thread_ptr);
1807  }
1808 
1809  jvmtiError GetAllThreads(jint* threads_count_ptr,
1810  jthread** threads_ptr) {
1811  return functions->GetAllThreads(this, threads_count_ptr, threads_ptr);
1812  }
1813 
1814  jvmtiError SuspendThread(jthread thread) {
1815  return functions->SuspendThread(this, thread);
1816  }
1817 
1818  jvmtiError SuspendThreadList(jint request_count,
1819  const jthread* request_list,
1820  jvmtiError* results) {
1821  return functions->SuspendThreadList(this, request_count, request_list, results);
1822  }
1823 
1824  jvmtiError ResumeThread(jthread thread) {
1825  return functions->ResumeThread(this, thread);
1826  }
1827 
1828  jvmtiError ResumeThreadList(jint request_count,
1829  const jthread* request_list,
1830  jvmtiError* results) {
1831  return functions->ResumeThreadList(this, request_count, request_list, results);
1832  }
1833 
1834  jvmtiError StopThread(jthread thread,
1835  jobject exception) {
1836  return functions->StopThread(this, thread, exception);
1837  }
1838 
1839  jvmtiError InterruptThread(jthread thread) {
1840  return functions->InterruptThread(this, thread);
1841  }
1842 
1843  jvmtiError GetThreadInfo(jthread thread,
1845  return functions->GetThreadInfo(this, thread, info_ptr);
1846  }
1847 
1848  jvmtiError GetOwnedMonitorInfo(jthread thread,
1851  return functions->GetOwnedMonitorInfo(this, thread, owned_monitor_count_ptr, owned_monitors_ptr);
1852  }
1853 
1854  jvmtiError GetOwnedMonitorStackDepthInfo(jthread thread,
1857  return functions->GetOwnedMonitorStackDepthInfo(this, thread, monitor_info_count_ptr, monitor_info_ptr);
1858  }
1859 
1860  jvmtiError GetCurrentContendedMonitor(jthread thread,
1861  jobject* monitor_ptr) {
1862  return functions->GetCurrentContendedMonitor(this, thread, monitor_ptr);
1863  }
1864 
1865  jvmtiError RunAgentThread(jthread thread,
1867  const void* arg,
1868  jint priority) {
1869  return functions->RunAgentThread(this, thread, proc, arg, priority);
1870  }
1871 
1872  jvmtiError SetThreadLocalStorage(jthread thread,
1873  const void* data) {
1874  return functions->SetThreadLocalStorage(this, thread, data);
1875  }
1876 
1877  jvmtiError GetThreadLocalStorage(jthread thread,
1878  void** data_ptr) {
1879  return functions->GetThreadLocalStorage(this, thread, data_ptr);
1880  }
1881 
1882  jvmtiError GetTopThreadGroups(jint* group_count_ptr,
1884  return functions->GetTopThreadGroups(this, group_count_ptr, groups_ptr);
1885  }
1886 
1887  jvmtiError GetThreadGroupInfo(jthreadGroup group,
1889  return functions->GetThreadGroupInfo(this, group, info_ptr);
1890  }
1891 
1892  jvmtiError GetThreadGroupChildren(jthreadGroup group,
1894  jthread** threads_ptr,
1897  return functions->GetThreadGroupChildren(this, group, thread_count_ptr, threads_ptr, group_count_ptr, groups_ptr);
1898  }
1899 
1900  jvmtiError GetStackTrace(jthread thread,
1901  jint start_depth,
1904  jint* count_ptr) {
1905  return functions->GetStackTrace(this, thread, start_depth, max_frame_count, frame_buffer, count_ptr);
1906  }
1907 
1908  jvmtiError GetAllStackTraces(jint max_frame_count,
1911  return functions->GetAllStackTraces(this, max_frame_count, stack_info_ptr, thread_count_ptr);
1912  }
1913 
1914  jvmtiError GetThreadListStackTraces(jint thread_count,
1915  const jthread* thread_list,
1918  return functions->GetThreadListStackTraces(this, thread_count, thread_list, max_frame_count, stack_info_ptr);
1919  }
1920 
1921  jvmtiError GetFrameCount(jthread thread,
1922  jint* count_ptr) {
1923  return functions->GetFrameCount(this, thread, count_ptr);
1924  }
1925 
1926  jvmtiError PopFrame(jthread thread) {
1927  return functions->PopFrame(this, thread);
1928  }
1929 
1930  jvmtiError GetFrameLocation(jthread thread,
1931  jint depth,
1934  return functions->GetFrameLocation(this, thread, depth, method_ptr, location_ptr);
1935  }
1936 
1937  jvmtiError NotifyFramePop(jthread thread,
1938  jint depth) {
1939  return functions->NotifyFramePop(this, thread, depth);
1940  }
1941 
1942  jvmtiError ForceEarlyReturnObject(jthread thread,
1943  jobject value) {
1944  return functions->ForceEarlyReturnObject(this, thread, value);
1945  }
1946 
1947  jvmtiError ForceEarlyReturnInt(jthread thread,
1948  jint value) {
1949  return functions->ForceEarlyReturnInt(this, thread, value);
1950  }
1951 
1952  jvmtiError ForceEarlyReturnLong(jthread thread,
1953  jlong value) {
1954  return functions->ForceEarlyReturnLong(this, thread, value);
1955  }
1956 
1957  jvmtiError ForceEarlyReturnFloat(jthread thread,
1958  jfloat value) {
1959  return functions->ForceEarlyReturnFloat(this, thread, value);
1960  }
1961 
1962  jvmtiError ForceEarlyReturnDouble(jthread thread,
1963  jdouble value) {
1964  return functions->ForceEarlyReturnDouble(this, thread, value);
1965  }
1966 
1967  jvmtiError ForceEarlyReturnVoid(jthread thread) {
1968  return functions->ForceEarlyReturnVoid(this, thread);
1969  }
1970 
1971  jvmtiError FollowReferences(jint heap_filter,
1972  jclass klass,
1975  const void* user_data) {
1976  return functions->FollowReferences(this, heap_filter, klass, initial_object, callbacks, user_data);
1977  }
1978 
1980  jclass klass,
1982  const void* user_data) {
1983  return functions->IterateThroughHeap(this, heap_filter, klass, callbacks, user_data);
1984  }
1985 
1986  jvmtiError GetTag(jobject object,
1987  jlong* tag_ptr) {
1988  return functions->GetTag(this, object, tag_ptr);
1989  }
1990 
1991  jvmtiError SetTag(jobject object,
1992  jlong tag) {
1993  return functions->SetTag(this, object, tag);
1994  }
1995 
1996  jvmtiError GetObjectsWithTags(jint tag_count,
1997  const jlong* tags,
1998  jint* count_ptr,
2000  jlong** tag_result_ptr) {
2001  return functions->GetObjectsWithTags(this, tag_count, tags, count_ptr, object_result_ptr, tag_result_ptr);
2002  }
2003 
2004  jvmtiError ForceGarbageCollection() {
2005  return functions->ForceGarbageCollection(this);
2006  }
2007 
2008  jvmtiError IterateOverObjectsReachableFromObject(jobject object,
2010  const void* user_data) {
2011  return functions->IterateOverObjectsReachableFromObject(this, object, object_reference_callback, user_data);
2012  }
2013 
2014  jvmtiError IterateOverReachableObjects(jvmtiHeapRootCallback heap_root_callback,
2017  const void* user_data) {
2018  return functions->IterateOverReachableObjects(this, heap_root_callback, stack_ref_callback, object_ref_callback, user_data);
2019  }
2020 
2023  const void* user_data) {
2024  return functions->IterateOverHeap(this, object_filter, heap_object_callback, user_data);
2025  }
2026 
2027  jvmtiError IterateOverInstancesOfClass(jclass klass,
2030  const void* user_data) {
2031  return functions->IterateOverInstancesOfClass(this, klass, object_filter, heap_object_callback, user_data);
2032  }
2033 
2034  jvmtiError GetLocalObject(jthread thread,
2035  jint depth,
2036  jint slot,
2037  jobject* value_ptr) {
2038  return functions->GetLocalObject(this, thread, depth, slot, value_ptr);
2039  }
2040 
2041  jvmtiError GetLocalInstance(jthread thread,
2042  jint depth,
2043  jobject* value_ptr) {
2044  return functions->GetLocalInstance(this, thread, depth, value_ptr);
2045  }
2046 
2047  jvmtiError GetLocalInt(jthread thread,
2048  jint depth,
2049  jint slot,
2050  jint* value_ptr) {
2051  return functions->GetLocalInt(this, thread, depth, slot, value_ptr);
2052  }
2053 
2054  jvmtiError GetLocalLong(jthread thread,
2055  jint depth,
2056  jint slot,
2057  jlong* value_ptr) {
2058  return functions->GetLocalLong(this, thread, depth, slot, value_ptr);
2059  }
2060 
2061  jvmtiError GetLocalFloat(jthread thread,
2062  jint depth,
2063  jint slot,
2064  jfloat* value_ptr) {
2065  return functions->GetLocalFloat(this, thread, depth, slot, value_ptr);
2066  }
2067 
2068  jvmtiError GetLocalDouble(jthread thread,
2069  jint depth,
2070  jint slot,
2071  jdouble* value_ptr) {
2072  return functions->GetLocalDouble(this, thread, depth, slot, value_ptr);
2073  }
2074 
2075  jvmtiError SetLocalObject(jthread thread,
2076  jint depth,
2077  jint slot,
2078  jobject value) {
2079  return functions->SetLocalObject(this, thread, depth, slot, value);
2080  }
2081 
2082  jvmtiError SetLocalInt(jthread thread,
2083  jint depth,
2084  jint slot,
2085  jint value) {
2086  return functions->SetLocalInt(this, thread, depth, slot, value);
2087  }
2088 
2089  jvmtiError SetLocalLong(jthread thread,
2090  jint depth,
2091  jint slot,
2092  jlong value) {
2093  return functions->SetLocalLong(this, thread, depth, slot, value);
2094  }
2095 
2096  jvmtiError SetLocalFloat(jthread thread,
2097  jint depth,
2098  jint slot,
2099  jfloat value) {
2100  return functions->SetLocalFloat(this, thread, depth, slot, value);
2101  }
2102 
2103  jvmtiError SetLocalDouble(jthread thread,
2104  jint depth,
2105  jint slot,
2106  jdouble value) {
2107  return functions->SetLocalDouble(this, thread, depth, slot, value);
2108  }
2109 
2110  jvmtiError SetBreakpoint(jmethodID method,
2111  jlocation location) {
2112  return functions->SetBreakpoint(this, method, location);
2113  }
2114 
2115  jvmtiError ClearBreakpoint(jmethodID method,
2116  jlocation location) {
2117  return functions->ClearBreakpoint(this, method, location);
2118  }
2119 
2120  jvmtiError SetFieldAccessWatch(jclass klass,
2121  jfieldID field) {
2122  return functions->SetFieldAccessWatch(this, klass, field);
2123  }
2124 
2125  jvmtiError ClearFieldAccessWatch(jclass klass,
2126  jfieldID field) {
2127  return functions->ClearFieldAccessWatch(this, klass, field);
2128  }
2129 
2130  jvmtiError SetFieldModificationWatch(jclass klass,
2131  jfieldID field) {
2132  return functions->SetFieldModificationWatch(this, klass, field);
2133  }
2134 
2135  jvmtiError ClearFieldModificationWatch(jclass klass,
2136  jfieldID field) {
2137  return functions->ClearFieldModificationWatch(this, klass, field);
2138  }
2139 
2141  jclass** classes_ptr) {
2142  return functions->GetLoadedClasses(this, class_count_ptr, classes_ptr);
2143  }
2144 
2145  jvmtiError GetClassLoaderClasses(jobject initiating_loader,
2147  jclass** classes_ptr) {
2148  return functions->GetClassLoaderClasses(this, initiating_loader, class_count_ptr, classes_ptr);
2149  }
2150 
2151  jvmtiError GetClassSignature(jclass klass,
2152  char** signature_ptr,
2153  char** generic_ptr) {
2154  return functions->GetClassSignature(this, klass, signature_ptr, generic_ptr);
2155  }
2156 
2157  jvmtiError GetClassStatus(jclass klass,
2158  jint* status_ptr) {
2159  return functions->GetClassStatus(this, klass, status_ptr);
2160  }
2161 
2162  jvmtiError GetSourceFileName(jclass klass,
2163  char** source_name_ptr) {
2164  return functions->GetSourceFileName(this, klass, source_name_ptr);
2165  }
2166 
2167  jvmtiError GetClassModifiers(jclass klass,
2168  jint* modifiers_ptr) {
2169  return functions->GetClassModifiers(this, klass, modifiers_ptr);
2170  }
2171 
2172  jvmtiError GetClassMethods(jclass klass,
2174  jmethodID** methods_ptr) {
2175  return functions->GetClassMethods(this, klass, method_count_ptr, methods_ptr);
2176  }
2177 
2178  jvmtiError GetClassFields(jclass klass,
2180  jfieldID** fields_ptr) {
2181  return functions->GetClassFields(this, klass, field_count_ptr, fields_ptr);
2182  }
2183 
2184  jvmtiError GetImplementedInterfaces(jclass klass,
2186  jclass** interfaces_ptr) {
2187  return functions->GetImplementedInterfaces(this, klass, interface_count_ptr, interfaces_ptr);
2188  }
2189 
2190  jvmtiError GetClassVersionNumbers(jclass klass,
2193  return functions->GetClassVersionNumbers(this, klass, minor_version_ptr, major_version_ptr);
2194  }
2195 
2196  jvmtiError GetConstantPool(jclass klass,
2199  unsigned char** constant_pool_bytes_ptr) {
2201  }
2202 
2203  jvmtiError IsInterface(jclass klass,
2205  return functions->IsInterface(this, klass, is_interface_ptr);
2206  }
2207 
2208  jvmtiError IsArrayClass(jclass klass,
2210  return functions->IsArrayClass(this, klass, is_array_class_ptr);
2211  }
2212 
2213  jvmtiError IsModifiableClass(jclass klass,
2215  return functions->IsModifiableClass(this, klass, is_modifiable_class_ptr);
2216  }
2217 
2218  jvmtiError GetClassLoader(jclass klass,
2220  return functions->GetClassLoader(this, klass, classloader_ptr);
2221  }
2222 
2223  jvmtiError GetSourceDebugExtension(jclass klass,
2224  char** source_debug_extension_ptr) {
2225  return functions->GetSourceDebugExtension(this, klass, source_debug_extension_ptr);
2226  }
2227 
2228  jvmtiError RetransformClasses(jint class_count,
2229  const jclass* classes) {
2230  return functions->RetransformClasses(this, class_count, classes);
2231  }
2232 
2233  jvmtiError RedefineClasses(jint class_count,
2235  return functions->RedefineClasses(this, class_count, class_definitions);
2236  }
2237 
2238  jvmtiError GetObjectSize(jobject object,
2239  jlong* size_ptr) {
2240  return functions->GetObjectSize(this, object, size_ptr);
2241  }
2242 
2243  jvmtiError GetObjectHashCode(jobject object,
2244  jint* hash_code_ptr) {
2245  return functions->GetObjectHashCode(this, object, hash_code_ptr);
2246  }
2247 
2248  jvmtiError GetObjectMonitorUsage(jobject object,
2250  return functions->GetObjectMonitorUsage(this, object, info_ptr);
2251  }
2252 
2253  jvmtiError GetFieldName(jclass klass,
2254  jfieldID field,
2255  char** name_ptr,
2256  char** signature_ptr,
2257  char** generic_ptr) {
2258  return functions->GetFieldName(this, klass, field, name_ptr, signature_ptr, generic_ptr);
2259  }
2260 
2261  jvmtiError GetFieldDeclaringClass(jclass klass,
2262  jfieldID field,
2264  return functions->GetFieldDeclaringClass(this, klass, field, declaring_class_ptr);
2265  }
2266 
2267  jvmtiError GetFieldModifiers(jclass klass,
2268  jfieldID field,
2269  jint* modifiers_ptr) {
2270  return functions->GetFieldModifiers(this, klass, field, modifiers_ptr);
2271  }
2272 
2273  jvmtiError IsFieldSynthetic(jclass klass,
2274  jfieldID field,
2276  return functions->IsFieldSynthetic(this, klass, field, is_synthetic_ptr);
2277  }
2278 
2279  jvmtiError GetMethodName(jmethodID method,
2280  char** name_ptr,
2281  char** signature_ptr,
2282  char** generic_ptr) {
2283  return functions->GetMethodName(this, method, name_ptr, signature_ptr, generic_ptr);
2284  }
2285 
2286  jvmtiError GetMethodDeclaringClass(jmethodID method,
2288  return functions->GetMethodDeclaringClass(this, method, declaring_class_ptr);
2289  }
2290 
2291  jvmtiError GetMethodModifiers(jmethodID method,
2292  jint* modifiers_ptr) {
2293  return functions->GetMethodModifiers(this, method, modifiers_ptr);
2294  }
2295 
2296  jvmtiError GetMaxLocals(jmethodID method,
2297  jint* max_ptr) {
2298  return functions->GetMaxLocals(this, method, max_ptr);
2299  }
2300 
2301  jvmtiError GetArgumentsSize(jmethodID method,
2302  jint* size_ptr) {
2303  return functions->GetArgumentsSize(this, method, size_ptr);
2304  }
2305 
2306  jvmtiError GetLineNumberTable(jmethodID method,
2309  return functions->GetLineNumberTable(this, method, entry_count_ptr, table_ptr);
2310  }
2311 
2312  jvmtiError GetMethodLocation(jmethodID method,
2315  return functions->GetMethodLocation(this, method, start_location_ptr, end_location_ptr);
2316  }
2317 
2318  jvmtiError GetLocalVariableTable(jmethodID method,
2321  return functions->GetLocalVariableTable(this, method, entry_count_ptr, table_ptr);
2322  }
2323 
2324  jvmtiError GetBytecodes(jmethodID method,
2326  unsigned char** bytecodes_ptr) {
2327  return functions->GetBytecodes(this, method, bytecode_count_ptr, bytecodes_ptr);
2328  }
2329 
2330  jvmtiError IsMethodNative(jmethodID method,
2332  return functions->IsMethodNative(this, method, is_native_ptr);
2333  }
2334 
2335  jvmtiError IsMethodSynthetic(jmethodID method,
2337  return functions->IsMethodSynthetic(this, method, is_synthetic_ptr);
2338  }
2339 
2340  jvmtiError IsMethodObsolete(jmethodID method,
2342  return functions->IsMethodObsolete(this, method, is_obsolete_ptr);
2343  }
2344 
2345  jvmtiError SetNativeMethodPrefix(const char* prefix) {
2346  return functions->SetNativeMethodPrefix(this, prefix);
2347  }
2348 
2349  jvmtiError SetNativeMethodPrefixes(jint prefix_count,
2350  char** prefixes) {
2351  return functions->SetNativeMethodPrefixes(this, prefix_count, prefixes);
2352  }
2353 
2354  jvmtiError CreateRawMonitor(const char* name,
2356  return functions->CreateRawMonitor(this, name, monitor_ptr);
2357  }
2358 
2359  jvmtiError DestroyRawMonitor(jrawMonitorID monitor) {
2360  return functions->DestroyRawMonitor(this, monitor);
2361  }
2362 
2363  jvmtiError RawMonitorEnter(jrawMonitorID monitor) {
2364  return functions->RawMonitorEnter(this, monitor);
2365  }
2366 
2367  jvmtiError RawMonitorExit(jrawMonitorID monitor) {
2368  return functions->RawMonitorExit(this, monitor);
2369  }
2370 
2371  jvmtiError RawMonitorWait(jrawMonitorID monitor,
2372  jlong millis) {
2373  return functions->RawMonitorWait(this, monitor, millis);
2374  }
2375 
2376  jvmtiError RawMonitorNotify(jrawMonitorID monitor) {
2377  return functions->RawMonitorNotify(this, monitor);
2378  }
2379 
2380  jvmtiError RawMonitorNotifyAll(jrawMonitorID monitor) {
2381  return functions->RawMonitorNotifyAll(this, monitor);
2382  }
2383 
2384  jvmtiError SetJNIFunctionTable(const jniNativeInterface* function_table) {
2385  return functions->SetJNIFunctionTable(this, function_table);
2386  }
2387 
2388  jvmtiError GetJNIFunctionTable(jniNativeInterface** function_table) {
2389  return functions->GetJNIFunctionTable(this, function_table);
2390  }
2391 
2392  jvmtiError SetEventCallbacks(const jvmtiEventCallbacks* callbacks,
2394  return functions->SetEventCallbacks(this, callbacks, size_of_callbacks);
2395  }
2396 
2397  jvmtiError SetEventNotificationMode(jvmtiEventMode mode,
2400  ...) {
2401  return functions->SetEventNotificationMode(this, mode, event_type, event_thread);
2402  }
2403 
2404  jvmtiError GenerateEvents(jvmtiEvent event_type) {
2405  return functions->GenerateEvents(this, event_type);
2406  }
2407 
2408  jvmtiError GetExtensionFunctions(jint* extension_count_ptr,
2410  return functions->GetExtensionFunctions(this, extension_count_ptr, extensions);
2411  }
2412 
2413  jvmtiError GetExtensionEvents(jint* extension_count_ptr,
2415  return functions->GetExtensionEvents(this, extension_count_ptr, extensions);
2416  }
2417 
2418  jvmtiError SetExtensionEventCallback(jint extension_event_index,
2420  return functions->SetExtensionEventCallback(this, extension_event_index, callback);
2421  }
2422 
2423  jvmtiError GetPotentialCapabilities(jvmtiCapabilities* capabilities_ptr) {
2424  return functions->GetPotentialCapabilities(this, capabilities_ptr);
2425  }
2426 
2427  jvmtiError AddCapabilities(const jvmtiCapabilities* capabilities_ptr) {
2428  return functions->AddCapabilities(this, capabilities_ptr);
2429  }
2430 
2431  jvmtiError RelinquishCapabilities(const jvmtiCapabilities* capabilities_ptr) {
2432  return functions->RelinquishCapabilities(this, capabilities_ptr);
2433  }
2434 
2435  jvmtiError GetCapabilities(jvmtiCapabilities* capabilities_ptr) {
2436  return functions->GetCapabilities(this, capabilities_ptr);
2437  }
2438 
2439  jvmtiError GetCurrentThreadCpuTimerInfo(jvmtiTimerInfo* info_ptr) {
2440  return functions->GetCurrentThreadCpuTimerInfo(this, info_ptr);
2441  }
2442 
2443  jvmtiError GetCurrentThreadCpuTime(jlong* nanos_ptr) {
2444  return functions->GetCurrentThreadCpuTime(this, nanos_ptr);
2445  }
2446 
2447  jvmtiError GetThreadCpuTimerInfo(jvmtiTimerInfo* info_ptr) {
2448  return functions->GetThreadCpuTimerInfo(this, info_ptr);
2449  }
2450 
2451  jvmtiError GetThreadCpuTime(jthread thread,
2452  jlong* nanos_ptr) {
2453  return functions->GetThreadCpuTime(this, thread, nanos_ptr);
2454  }
2455 
2456  jvmtiError GetTimerInfo(jvmtiTimerInfo* info_ptr) {
2457  return functions->GetTimerInfo(this, info_ptr);
2458  }
2459 
2460  jvmtiError GetTime(jlong* nanos_ptr) {
2461  return functions->GetTime(this, nanos_ptr);
2462  }
2463 
2464  jvmtiError GetAvailableProcessors(jint* processor_count_ptr) {
2465  return functions->GetAvailableProcessors(this, processor_count_ptr);
2466  }
2467 
2468  jvmtiError AddToBootstrapClassLoaderSearch(const char* segment) {
2469  return functions->AddToBootstrapClassLoaderSearch(this, segment);
2470  }
2471 
2472  jvmtiError AddToSystemClassLoaderSearch(const char* segment) {
2473  return functions->AddToSystemClassLoaderSearch(this, segment);
2474  }
2475 
2476  jvmtiError GetSystemProperties(jint* count_ptr,
2477  char*** property_ptr) {
2478  return functions->GetSystemProperties(this, count_ptr, property_ptr);
2479  }
2480 
2481  jvmtiError GetSystemProperty(const char* property,
2482  char** value_ptr) {
2483  return functions->GetSystemProperty(this, property, value_ptr);
2484  }
2485 
2486  jvmtiError SetSystemProperty(const char* property,
2487  const char* value) {
2488  return functions->SetSystemProperty(this, property, value);
2489  }
2490 
2491  jvmtiError GetPhase(jvmtiPhase* phase_ptr) {
2492  return functions->GetPhase(this, phase_ptr);
2493  }
2494 
2495  jvmtiError DisposeEnvironment() {
2496  return functions->DisposeEnvironment(this);
2497  }
2498 
2499  jvmtiError SetEnvironmentLocalStorage(const void* data) {
2500  return functions->SetEnvironmentLocalStorage(this, data);
2501  }
2502 
2503  jvmtiError GetEnvironmentLocalStorage(void** data_ptr) {
2504  return functions->GetEnvironmentLocalStorage(this, data_ptr);
2505  }
2506 
2507  jvmtiError GetVersionNumber(jint* version_ptr) {
2508  return functions->GetVersionNumber(this, version_ptr);
2509  }
2510 
2511  jvmtiError GetErrorName(jvmtiError error,
2512  char** name_ptr) {
2513  return functions->GetErrorName(this, error, name_ptr);
2514  }
2515 
2516  jvmtiError SetVerboseFlag(jvmtiVerboseFlag flag,
2517  jboolean value) {
2518  return functions->SetVerboseFlag(this, flag, value);
2519  }
2520 
2521  jvmtiError GetJLocationFormat(jvmtiJlocationFormat* format_ptr) {
2522  return functions->GetJLocationFormat(this, format_ptr);
2523  }
2524 
2525 #endif /* __cplusplus */
2526 };
2527 
2528 
2529 #ifdef __cplusplus
2530 } /* extern "C" */
2531 #endif /* __cplusplus */
2532 
2533 #endif /* !_JAVA_JVMTI_H_ */
2534 
jvmtiInterface_1_::info_ptr
jvmtiTimerInfo * info_ptr
Definition: jvmti.h:1686
jvmtiHeapRootKind
jvmtiHeapRootKind
Definition: jvmti.h:184
jvmtiInterface_1_::millis
jrawMonitorID jlong millis
Definition: jvmti.h:1196
jvmtiEventCallbacks::Breakpoint
jvmtiEventBreakpoint Breakpoint
Definition: jvmti.h:952
JVMTI_PRIMITIVE_TYPE_DOUBLE
@ JVMTI_PRIMITIVE_TYPE_DOUBLE
Definition: jvmti.h:171
_jvmtiTimerInfo::reserved1
jlong reserved1
Definition: jvmti.h:656
jvmtiEventCallbacks::reserved77
jvmtiEventReserved reserved77
Definition: jvmti.h:982
JVMTI_THREAD_MAX_PRIORITY
@ JVMTI_THREAD_MAX_PRIORITY
Definition: jvmti.h:120
jvmtiEventFieldAccess
void(JNICALL * jvmtiEventFieldAccess)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field)
Definition: jvmti.h:793
jvmtiEventCallbacks::reserved78
jvmtiEventReserved reserved78
Definition: jvmti.h:984
JVMTI_ERROR_THREAD_NOT_ALIVE
@ JVMTI_ERROR_THREAD_NOT_ALIVE
Definition: jvmti.h:344
jvmtiEventCallbacks
Definition: jvmti.h:926
jvmtiInterface_1_::user_data
jobject jvmtiObjectReferenceCallback const void * user_data
Definition: jvmti.h:1564
jvmtiCapabilities::can_redefine_classes
unsigned int can_redefine_classes
Definition: jvmti.h:674
jvmtiInterface_1_::format_ptr
jvmtiJlocationFormat * format_ptr
Definition: jvmti.h:1663
jvmtiEventCallbacks::SingleStep
jvmtiEventSingleStep SingleStep
Definition: jvmti.h:948
jvmtiInterface_1_::constant_pool_count_ptr
jclass jint * constant_pool_count_ptr
Definition: jvmti.h:1737
jvmtiEventCallbacks::Exception
jvmtiEventException Exception
Definition: jvmti.h:944
JVMTI_ERROR_INVALID_CLASS_FORMAT
@ JVMTI_ERROR_INVALID_CLASS_FORMAT
Definition: jvmti.h:360
JVMTI_HEAP_REFERENCE_STATIC_FIELD
@ JVMTI_HEAP_REFERENCE_STATIC_FIELD
Definition: jvmti.h:149
JVMTI_TYPE_JNIENV
@ JVMTI_TYPE_JNIENV
Definition: jvmti.h:253
JVMTI_ERROR_WRONG_PHASE
@ JVMTI_ERROR_WRONG_PHASE
Definition: jvmti.h:383
jvmtiCapabilities::can_retransform_any_class
unsigned int can_retransform_any_class
Definition: jvmti.h:703
jvmtiInterface_1_::method_count_ptr
jclass jint * method_count_ptr
Definition: jvmti.h:1277
JVMTI_EVENT_THREAD_END
@ JVMTI_EVENT_THREAD_END
Definition: jvmti.h:397
jvmtiCapabilities::can_get_source_file_name
unsigned int can_get_source_file_name
Definition: jvmti.h:676
_jvmtiMonitorStackDepthInfo
Definition: jvmti.h:525
JVMTI_ERROR_UNSUPPORTED_VERSION
@ JVMTI_ERROR_UNSUPPORTED_VERSION
Definition: jvmti.h:368
JVMTI_ERROR_INVALID_THREAD_GROUP
@ JVMTI_ERROR_INVALID_THREAD_GROUP
Definition: jvmti.h:340
_jvmtiThreadInfo::thread_group
jthreadGroup thread_group
Definition: jvmti.h:522
jvmtiInterface_1_::callbacks
const jvmtiEventCallbacks * callbacks
Definition: jvmti.h:1631
jvmtiInterface_1_::hash_code_ptr
jobject jint * hash_code_ptr
Definition: jvmti.h:1310
jvmtiInterface_1_::slot
jthread jint jint slot
Definition: jvmti.h:1110
JVMTI_VERSION_SHIFT_MAJOR
@ JVMTI_VERSION_SHIFT_MAJOR
Definition: jvmti.h:305
JVMTI_DISABLE
@ JVMTI_DISABLE
Definition: jvmti.h:231
jvmtiJlocationFormat
jvmtiJlocationFormat
Definition: jvmti.h:321
jvmtiInterface_1_::heap_filter
jint heap_filter
Definition: jvmti.h:1599
jvmtiInterface_1_::table_ptr
jmethodID jint jvmtiLineNumberEntry ** table_ptr
Definition: jvmti.h:1377
jvmtiCapabilities::can_get_current_thread_cpu_time
unsigned int can_get_current_thread_cpu_time
Definition: jvmti.h:687
_jvmtiTimerInfo::max_value
jlong max_value
Definition: jvmti.h:652
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
Definition: jvmti.h:367
Agent_OnLoad
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
jvmtiEventCallbacks::ClassLoad
jvmtiEventClassLoad ClassLoad
Definition: jvmti.h:938
jvmtiInterface_1_::reserved95
void * reserved95
Definition: jvmti.h:1499
jvmtiCapabilities::can_generate_breakpoint_events
unsigned int can_generate_breakpoint_events
Definition: jvmti.h:684
jmethodID
struct _jmethodID * jmethodID
Definition: jni.h:136
JVMTI_EVENT_CLASS_FILE_LOAD_HOOK
@ JVMTI_EVENT_CLASS_FILE_LOAD_HOOK
Definition: jvmti.h:398
jvmtiHeapIterationCallback
jint(JNICALL * jvmtiHeapIterationCallback)(jlong class_tag, jlong size, jlong *tag_ptr, jint length, void *user_data)
Definition: jvmti.h:481
jvmtiInterface_1_::constant_pool_byte_count_ptr
jclass jint jint * constant_pool_byte_count_ptr
Definition: jvmti.h:1738
_jvmtiHeapReferenceInfoReserved::reserved4
jlong reserved4
Definition: jvmti.h:572
jvmtiInterface_1_::classes_ptr
jint jclass ** classes_ptr
Definition: jvmti.h:1419
jvmtiInterface_1_::reserved105
void * reserved105
Definition: jvmti.h:1545
jvmtiCapabilities::can_generate_field_modification_events
unsigned int can_generate_field_modification_events
Definition: jvmti.h:666
_jvmtiHeapReferenceInfoReserved::reserved8
jlong reserved8
Definition: jvmti.h:576
_jvmtiThreadGroupInfo::name
char * name
Definition: jvmti.h:531
JVMTI_ERROR_MUST_POSSESS_CAPABILITY
@ JVMTI_ERROR_MUST_POSSESS_CAPABILITY
Definition: jvmti.h:374
jvmtiEventCallbacks::MonitorContendedEnter
jvmtiEventMonitorContendedEnter MonitorContendedEnter
Definition: jvmti.h:978
jvmtiInterface_1_::reserved141
void * reserved141
Definition: jvmti.h:1714
jvmtiInterface_1_::results
jint const jthread jvmtiError * results
Definition: jvmti.h:1487
_jvmtiHeapReferenceInfoStackLocal::depth
jint depth
Definition: jvmti.h:557
jvmtiInterface_1_::proc
jthread jvmtiStartFunction proc
Definition: jvmti.h:1058
JVMTI_ERROR_UNATTACHED_THREAD
@ JVMTI_ERROR_UNATTACHED_THREAD
Definition: jvmti.h:385
JVMTI_HEAP_REFERENCE_SIGNERS
@ JVMTI_HEAP_REFERENCE_SIGNERS
Definition: jvmti.h:146
JVMTI_CLASS_STATUS_VERIFIED
@ JVMTI_CLASS_STATUS_VERIFIED
Definition: jvmti.h:219
jvmtiInterface_1
struct jvmtiInterface_1_ jvmtiInterface_1
_jvmtiHeapReferenceInfoArray::index
jint index
Definition: jvmti.h:549
_jvmtiHeapReferenceInfoReserved::reserved1
jlong reserved1
Definition: jvmti.h:569
JVMTI_THREAD_STATE_WAITING_INDEFINITELY
@ JVMTI_THREAD_STATE_WAITING_INDEFINITELY
Definition: jvmti.h:90
jvmtiInterface_1_::name
const char * name
Definition: jvmti.h:1178
jvmtiEventCallbacks::ExceptionCatch
jvmtiEventExceptionCatch ExceptionCatch
Definition: jvmti.h:946
jvmtiEventCompiledMethodLoad
void(JNICALL * jvmtiEventCompiledMethodLoad)(jvmtiEnv *jvmti_env, jmethodID method, jint code_size, const void *code_addr, jint map_length, const jvmtiAddrLocationMap *map, const void *compile_info)
Definition: jvmti.h:752
JVMTI_ERROR_INVALID_TYPESTATE
@ JVMTI_ERROR_INVALID_TYPESTATE
Definition: jvmti.h:365
jvmtiEventVMObjectAlloc
void(JNICALL * jvmtiEventVMObjectAlloc)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jclass object_klass, jlong size)
Definition: jvmti.h:913
jvmtiInterface_1_::frame_buffer
jthread jint jint jvmtiFrameInfo * frame_buffer
Definition: jvmti.h:1541
jvmtiInterface_1_::reserved113
void * reserved113
Definition: jvmti.h:1587
jvmtiCapabilities::can_generate_object_free_events
unsigned int can_generate_object_free_events
Definition: jvmti.h:697
JVMTI_ERROR_INTERNAL
@ JVMTI_ERROR_INTERNAL
Definition: jvmti.h:384
jvmtiInterface_1_::modifiers_ptr
jmethodID jint * modifiers_ptr
Definition: jvmti.h:1358
jvmtiInterface_1_::object_reference_callback
jobject jvmtiObjectReferenceCallback object_reference_callback
Definition: jvmti.h:1563
JVMTI_JLOCATION_MACHINEPC
@ JVMTI_JLOCATION_MACHINEPC
Definition: jvmti.h:323
JVMTI_ERROR_INVALID_EVENT_TYPE
@ JVMTI_ERROR_INVALID_EVENT_TYPE
Definition: jvmti.h:377
jvmtiEventSingleStep
void(JNICALL * jvmtiEventSingleStep)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)
Definition: jvmti.h:887
_jvmtiHeapCallbacks::string_primitive_value_callback
jvmtiStringPrimitiveValueCallback string_primitive_value_callback
Definition: jvmti.h:591
_jvmtiExtensionFunctionInfo::errors
jvmtiError * errors
Definition: jvmti.h:642
jvmtiInterface_1_::method
jmethodID method
Definition: jvmti.h:1208
jvmtiInterface_1_::name_ptr
jmethodID char ** name_ptr
Definition: jvmti.h:1346
jrawMonitorID
struct _jrawMonitorID * jrawMonitorID
Definition: jvmti.h:76
JVMTI_JLOCATION_OTHER
@ JVMTI_JLOCATION_OTHER
Definition: jvmti.h:324
jvmtiEventCallbacks::FieldModification
jvmtiEventFieldModification FieldModification
Definition: jvmti.h:956
jvmtiInterface_1_::data_ptr
jthread void ** data_ptr
Definition: jvmti.h:1529
jvmtiCapabilities::can_force_early_return
unsigned int can_force_early_return
Definition: jvmti.h:698
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED
Definition: jvmti.h:371
jvmtiInterface_1_::value
jthread jint jint jlong value
Definition: jvmti.h:1160
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
Definition: jvmti.h:366
jvmtiInterface_1_::mem
unsigned char * mem
Definition: jvmti.h:1251
jvmtiInterface_1_::initial_object
jint jclass jobject initial_object
Definition: jvmti.h:1601
jvmtiEventCallbacks::CompiledMethodUnload
jvmtiEventCompiledMethodUnload CompiledMethodUnload
Definition: jvmti.h:966
_jvmtiStackInfo::frame_count
jint frame_count
Definition: jvmti.h:543
JVMTI_PHASE_PRIMORDIAL
@ JVMTI_PHASE_PRIMORDIAL
Definition: jvmti.h:280
JVMTI_VERBOSE_CLASS
@ JVMTI_VERBOSE_CLASS
Definition: jvmti.h:315
jvmtiCapabilities::can_generate_method_entry_events
unsigned int can_generate_method_entry_events
Definition: jvmti.h:689
JVMTI_EVENT_NATIVE_METHOD_BIND
@ JVMTI_EVENT_NATIVE_METHOD_BIND
Definition: jvmti.h:411
JVMTI_EVENT_RESOURCE_EXHAUSTED
@ JVMTI_EVENT_RESOURCE_EXHAUSTED
Definition: jvmti.h:420
jvmtiEventGarbageCollectionStart
void(JNICALL * jvmtiEventGarbageCollectionStart)(jvmtiEnv *jvmti_env)
Definition: jvmti.h:825
jvmtiInterface_1_::is_obsolete_ptr
jmethodID jboolean * is_obsolete_ptr
Definition: jvmti.h:1481
JVMTI_THREAD_NORM_PRIORITY
@ JVMTI_THREAD_NORM_PRIORITY
Definition: jvmti.h:119
jobject
struct _jobject * jobject
Definition: jni.h:101
JVMTI_ERROR_OPAQUE_FRAME
@ JVMTI_ERROR_OPAQUE_FRAME
Definition: jvmti.h:352
jvmtiStartFunction
void(JNICALL * jvmtiStartFunction)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, void *arg)
Definition: jvmti.h:478
jvmtiInterface_1_::object_result_ptr
jint const jlong jint jobject ** object_result_ptr
Definition: jvmti.h:1594
jvmtiInterface_1_::field
jclass jfieldID field
Definition: jvmti.h:1222
_jvmtiThreadInfo
Definition: jvmti.h:518
JVMTI_ERROR_FAILS_VERIFICATION
@ JVMTI_ERROR_FAILS_VERIFICATION
Definition: jvmti.h:362
JVMTI_REFERENCE_PROTECTION_DOMAIN
@ JVMTI_REFERENCE_PROTECTION_DOMAIN
Definition: jvmti.h:202
jvmtiEventCallbacks::ResourceExhausted
jvmtiEventResourceExhausted ResourceExhausted
Definition: jvmti.h:988
jvmtiInterface_1_::info_ptr
jthreadGroup jvmtiThreadGroupInfo * info_ptr
Definition: jvmti.h:1070
jvmtiEventThreadEnd
void(JNICALL * jvmtiEventThreadEnd)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
Definition: jvmti.h:894
JVMTI_ERROR_THREAD_NOT_SUSPENDED
@ JVMTI_ERROR_THREAD_NOT_SUSPENDED
Definition: jvmti.h:342
jvmtiInterface_1_::segment
const char * segment
Definition: jvmti.h:1751
jvmtiInterface_1_::tag
jobject jlong tag
Definition: jvmti.h:1555
JVMTI_PRIMITIVE_TYPE_FLOAT
@ JVMTI_PRIMITIVE_TYPE_FLOAT
Definition: jvmti.h:170
_jvmtiThreadGroupInfo
Definition: jvmti.h:529
jvmtiCapabilities::can_generate_garbage_collection_events
unsigned int can_generate_garbage_collection_events
Definition: jvmti.h:696
JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER
@ JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER
Definition: jvmti.h:88
jvmtiInterface_1_::bytecode_count_ptr
jmethodID jint * bytecode_count_ptr
Definition: jvmti.h:1403
JVMTI_HEAP_FILTER_UNTAGGED
@ JVMTI_HEAP_FILTER_UNTAGGED
Definition: jvmti.h:127
jvmtiInterface_1_::reserved67
void * reserved67
Definition: jvmti.h:1361
jvmtiInterface_1_::user_data
jint jclass const jvmtiHeapCallbacks const void * user_data
Definition: jvmti.h:1610
jvmtiEvent
jvmtiEvent
Definition: jvmti.h:392
JVMTI_VERSION_SHIFT_MICRO
@ JVMTI_VERSION_SHIFT_MICRO
Definition: jvmti.h:307
_jvmtiHeapCallbacks::reserved5
jvmtiReservedCallback reserved5
Definition: jvmti.h:592
_jvmtiThreadInfo::is_daemon
jboolean is_daemon
Definition: jvmti.h:521
jvmtiCapabilities::can_signal_thread
unsigned int can_signal_thread
Definition: jvmti.h:675
JVMTI_KIND_OUT
@ JVMTI_KIND_OUT
Definition: jvmti.h:264
jvmtiInterface_1_::event_type
jvmtiEventMode jvmtiEvent event_type
Definition: jvmti.h:1010
JVMTI_VERSION_1_1
@ JVMTI_VERSION_1_1
Definition: jvmti.h:43
jvmtiTimerKind
jvmtiTimerKind
Definition: jvmti.h:270
jvmtiInterface_1_::flag
jvmtiVerboseFlag flag
Definition: jvmti.h:1755
jvmtiInterface_1_::is_synthetic_ptr
jclass jfieldID jboolean * is_synthetic_ptr
Definition: jvmti.h:1341
JVMTI_PHASE_ONLOAD
@ JVMTI_PHASE_ONLOAD
Definition: jvmti.h:279
jvmtiInterface_1_::thread_list
jint const jthread * thread_list
Definition: jvmti.h:1522
_jvmtiHeapCallbacks::reserved6
jvmtiReservedCallback reserved6
Definition: jvmti.h:593
JVMTI_ENABLE
@ JVMTI_ENABLE
Definition: jvmti.h:230
_jvmtiHeapReferenceInfoStackLocal
Definition: jvmti.h:554
JVMTI_KIND_IN_PTR
@ JVMTI_KIND_IN_PTR
Definition: jvmti.h:260
jvmtiInterface_1_::data_ptr
void ** data_ptr
Definition: jvmti.h:1743
jvmtiInterface_1_::nanos_ptr
jthread jlong * nanos_ptr
Definition: jvmti.h:1699
jvmtiCapabilities::can_maintain_original_method_order
unsigned int can_maintain_original_method_order
Definition: jvmti.h:680
JVMTI_VERSION_MASK_MAJOR
@ JVMTI_VERSION_MASK_MAJOR
Definition: jvmti.h:297
_jvmtiTimerInfo
Definition: jvmti.h:651
jdouble
double jdouble
Definition: jni.h:61
jvmtiInterface_1_::value
jthread jint value
Definition: jvmti.h:1439
jvmtiInterface_1_::start_location_ptr
jmethodID jlocation * start_location_ptr
Definition: jvmti.h:1382
_jvmtiHeapReferenceInfoJniLocal::method
jmethodID method
Definition: jvmti.h:566
JVMTI_HEAP_REFERENCE_MONITOR
@ JVMTI_HEAP_REFERENCE_MONITOR
Definition: jvmti.h:154
_jvmtiHeapReferenceInfoJniLocal::thread_tag
jlong thread_tag
Definition: jvmti.h:563
jvmtiInterface_1_::class_count_ptr
jint * class_count_ptr
Definition: jvmti.h:1418
jvmtiHeapReferenceCallback
jint(JNICALL * jvmtiHeapReferenceCallback)(jvmtiHeapReferenceKind reference_kind, const jvmtiHeapReferenceInfo *reference_info, jlong class_tag, jlong referrer_class_tag, jlong size, jlong *tag_ptr, jlong *referrer_tag_ptr, jint length, void *user_data)
Definition: jvmti.h:484
JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR
@ JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR
Definition: jvmti.h:330
JVMTI_THREAD_STATE_INTERRUPTED
@ JVMTI_THREAD_STATE_INTERRUPTED
Definition: jvmti.h:96
jvmtiInterface_1_::value
jthread jint jint jfloat value
Definition: jvmti.h:1167
jvmtiInterface_1_::value_ptr
jthread jint jint jlong * value_ptr
Definition: jvmti.h:1125
JVMTI_ERROR_INVALID_ENVIRONMENT
@ JVMTI_ERROR_INVALID_ENVIRONMENT
Definition: jvmti.h:386
jvmtiInterface_1_::tag_result_ptr
jint const jlong jint jobject jlong ** tag_result_ptr
Definition: jvmti.h:1595
_jvmtiTimerInfo::may_skip_forward
jboolean may_skip_forward
Definition: jvmti.h:653
jvmtiEventBreakpoint
void(JNICALL * jvmtiEventBreakpoint)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)
Definition: jvmti.h:721
JVMTI_PHASE_LIVE
@ JVMTI_PHASE_LIVE
Definition: jvmti.h:282
JVMTI_HEAP_OBJECT_TAGGED
@ JVMTI_HEAP_OBJECT_TAGGED
Definition: jvmti.h:177
jvmtiInterface_1_::method_ptr
jthread jint jmethodID * method_ptr
Definition: jvmti.h:1098
_jvmtiThreadInfo::name
char * name
Definition: jvmti.h:519
_jvmtiMonitorUsage::notify_waiters
jthread * notify_waiters
Definition: jvmti.h:615
jvmtiInterface_1_::monitor_ptr
const char jrawMonitorID * monitor_ptr
Definition: jvmti.h:1179
_jvmtiHeapReferenceInfoReserved::reserved5
jlong reserved5
Definition: jvmti.h:573
JVMTI_ERROR_INVALID_SLOT
@ JVMTI_ERROR_INVALID_SLOT
Definition: jvmti.h:354
JVMTI_HEAP_OBJECT_UNTAGGED
@ JVMTI_HEAP_OBJECT_UNTAGGED
Definition: jvmti.h:178
JVMTI_VISIT_OBJECTS
@ JVMTI_VISIT_OBJECTS
Definition: jvmti.h:135
jvmtiObjectReferenceKind
jvmtiObjectReferenceKind
Definition: jvmti.h:196
JVMTI_JAVA_LANG_THREAD_STATE_MASK
@ JVMTI_JAVA_LANG_THREAD_STATE_MASK
Definition: jvmti.h:106
JVMTI_EVENT_FIELD_MODIFICATION
@ JVMTI_EVENT_FIELD_MODIFICATION
Definition: jvmti.h:408
JVMTI_KIND_ALLOC_ALLOC_BUF
@ JVMTI_KIND_ALLOC_ALLOC_BUF
Definition: jvmti.h:263
JVMTI_ERROR_NOT_MONITOR_OWNER
@ JVMTI_ERROR_NOT_MONITOR_OWNER
Definition: jvmti.h:358
_jvmtiHeapReferenceInfoReserved::reserved2
jlong reserved2
Definition: jvmti.h:570
JVMTI_HEAP_REFERENCE_SYSTEM_CLASS
@ JVMTI_HEAP_REFERENCE_SYSTEM_CLASS
Definition: jvmti.h:153
jvmtiInterface_1_::reserved98
void * reserved98
Definition: jvmti.h:1508
JVMTI_CLASS_STATUS_INITIALIZED
@ JVMTI_CLASS_STATUS_INITIALIZED
Definition: jvmti.h:221
jvmtiCapabilities::can_get_bytecodes
unsigned int can_get_bytecodes
Definition: jvmti.h:668
JVMTI_CLASS_STATUS_PRIMITIVE
@ JVMTI_CLASS_STATUS_PRIMITIVE
Definition: jvmti.h:224
JVMTI_VERSION_INTERFACE_JVMTI
@ JVMTI_VERSION_INTERFACE_JVMTI
Definition: jvmti.h:290
jvmtiEventCallbacks::reserved72
jvmtiEventReserved reserved72
Definition: jvmti.h:972
_jvmtiHeapCallbacks::reserved12
jvmtiReservedCallback reserved12
Definition: jvmti.h:599
jvmtiInterface_1_::count_ptr
jint * count_ptr
Definition: jvmti.h:1667
jvmtiInterface_1_::thread_count_ptr
jint jvmtiStackInfo jint * thread_count_ptr
Definition: jvmti.h:1517
JVMTI_REFERENCE_ARRAY_ELEMENT
@ JVMTI_REFERENCE_ARRAY_ELEMENT
Definition: jvmti.h:199
jvmtiInterface_1_::exception
jthread jobject exception
Definition: jvmti.h:1033
_jvmtiParamInfo
Definition: jvmti.h:629
JVMTI_ERROR_OUT_OF_MEMORY
@ JVMTI_ERROR_OUT_OF_MEMORY
Definition: jvmti.h:381
_jvmtiExtensionFunctionInfo::func
jvmtiExtensionFunction func
Definition: jvmti.h:636
size
Font2DTest To run then you should either specify the complete path to the commands or update your PATH environment variable as described in the installation instructions for the load Font2DTest html If you wish to modify any of the source you may want to extract the contents of the Font2DTest jar file by executing this the browser plugin viewer needs following permissions given in order to run but some of its features will be limited To enable all please add these permissions with policytool Introduction Font2DTest is an encompassing application for testing various fonts found on the user s system A number of controls are available to change many attributes of the current font including size
Definition: README.txt:42
jvmtiEventMode
jvmtiEventMode
Definition: jvmti.h:229
jvmtiHeapReferenceKind
jvmtiHeapReferenceKind
Definition: jvmti.h:141
_jvmtiHeapCallbacks::reserved15
jvmtiReservedCallback reserved15
Definition: jvmti.h:602
_jvmtiStackInfo::thread
jthread thread
Definition: jvmti.h:540
jvmtiInterface_1_::value
jthread jobject value
Definition: jvmti.h:1434
_jvmtiHeapReferenceInfoField::index
jint index
Definition: jvmti.h:546
JVMTI_PRIMITIVE_TYPE_BOOLEAN
@ JVMTI_PRIMITIVE_TYPE_BOOLEAN
Definition: jvmti.h:164
JVMTI_KIND_IN
@ JVMTI_KIND_IN
Definition: jvmti.h:259
jlong
__int64 jlong
Definition: jni_md.h:34
jvmtiEventClassLoad
void(JNICALL * jvmtiEventClassLoad)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)
Definition: jvmti.h:740
_jvmtiEnv::functions
const struct jvmtiInterface_1_ * functions
Definition: jvmti.h:1787
JVMTI_EVENT_FRAME_POP
@ JVMTI_EVENT_FRAME_POP
Definition: jvmti.h:405
JVMTI_VERSION_MASK_MINOR
@ JVMTI_VERSION_MASK_MINOR
Definition: jvmti.h:298
JVMTI_ERROR_NONE
@ JVMTI_ERROR_NONE
Definition: jvmti.h:338
jvmtiInterface_1_::value
jvmtiVerboseFlag jboolean value
Definition: jvmti.h:1756
jvmtiInterface_1_::size
jlong size
Definition: jvmti.h:1246
_jvmtiMonitorStackDepthInfo::stack_depth
jint stack_depth
Definition: jvmti.h:527
_jvmtiThreadInfo::context_class_loader
jobject context_class_loader
Definition: jvmti.h:523
JVMTI_VERSION_1_2
@ JVMTI_VERSION_1_2
Definition: jvmti.h:44
jvmtiPhase
jvmtiPhase
Definition: jvmti.h:278
JVMTI_EVENT_BREAKPOINT
@ JVMTI_EVENT_BREAKPOINT
Definition: jvmti.h:406
jvmtiCapabilities::can_generate_exception_events
unsigned int can_generate_exception_events
Definition: jvmti.h:682
JVMTI_ITERATION_CONTINUE
@ JVMTI_ITERATION_CONTINUE
Definition: jvmti.h:211
jvmtiParamKind
jvmtiParamKind
Definition: jvmti.h:258
jvmtiInterface_1_::size_ptr
jobject jlong * size_ptr
Definition: jvmti.h:1776
_jvmtiExtensionEventInfo::params
jvmtiParamInfo * params
Definition: jvmti.h:649
JVMTI_ERROR_NOT_FOUND
@ JVMTI_ERROR_NOT_FOUND
Definition: jvmti.h:356
jvmtiInterface_1_::signature_ptr
jmethodID char char ** signature_ptr
Definition: jvmti.h:1347
jvmtiCapabilities::can_generate_resource_exhaustion_threads_events
unsigned int can_generate_resource_exhaustion_threads_events
Definition: jvmti.h:705
jvmtiEventDataDumpRequest
void(JNICALL * jvmtiEventDataDumpRequest)(jvmtiEnv *jvmti_env)
Definition: jvmti.h:766
jvmtiInterface_1_::property_ptr
jint char *** property_ptr
Definition: jvmti.h:1668
_jvmtiHeapReferenceInfoJniLocal::depth
jint depth
Definition: jvmti.h:565
_jvmtiFrameInfo
Definition: jvmti.h:535
jvmtiInterface_1_::processor_count_ptr
jint * processor_count_ptr
Definition: jvmti.h:1726
jvmtiInterface_1_::interface_count_ptr
jclass jint * interface_count_ptr
Definition: jvmti.h:1289
_jvmtiClassDefinition::class_bytes
const unsigned char * class_bytes
Definition: jvmti.h:607
JVMTI_EVENT_EXCEPTION_CATCH
@ JVMTI_EVENT_EXCEPTION_CATCH
Definition: jvmti.h:403
JVMTI_ERROR_INVALID_METHODID
@ JVMTI_ERROR_INVALID_METHODID
Definition: jvmti.h:348
JVMTI_ERROR_INVALID_FIELDID
@ JVMTI_ERROR_INVALID_FIELDID
Definition: jvmti.h:350
JVMTI_VERBOSE_GC
@ JVMTI_VERBOSE_GC
Definition: jvmti.h:314
JVMTI_VERSION_INTERFACE_JNI
@ JVMTI_VERSION_INTERFACE_JNI
Definition: jvmti.h:289
_jvmtiLocalVariableEntry::length
jint length
Definition: jvmti.h:623
JVMTI_HEAP_ROOT_SYSTEM_CLASS
@ JVMTI_HEAP_ROOT_SYSTEM_CLASS
Definition: jvmti.h:186
_jvmtiStackInfo
Definition: jvmti.h:539
jvmtiEventDynamicCodeGenerated
void(JNICALL * jvmtiEventDynamicCodeGenerated)(jvmtiEnv *jvmti_env, const char *name, const void *address, jint length)
Definition: jvmti.h:769
_jvmtiLocalVariableEntry::generic_signature
char * generic_signature
Definition: jvmti.h:626
JVMTI_VERBOSE_JNI
@ JVMTI_VERBOSE_JNI
Definition: jvmti.h:316
JVMTI_EVENT_COMPILED_METHOD_LOAD
@ JVMTI_EVENT_COMPILED_METHOD_LOAD
Definition: jvmti.h:412
_jvmtiAddrLocationMap::start_address
const void * start_address
Definition: jvmti.h:660
jvmtiEventCallbacks::MonitorWaited
jvmtiEventMonitorWaited MonitorWaited
Definition: jvmti.h:976
_jvmtiParamInfo::kind
jvmtiParamKind kind
Definition: jvmti.h:631
JVMTI_EVENT_CLASS_PREPARE
@ JVMTI_EVENT_CLASS_PREPARE
Definition: jvmti.h:400
JVMTI_EVENT_VM_INIT
@ JVMTI_EVENT_VM_INIT
Definition: jvmti.h:394
jvmtiEventCallbacks::ThreadStart
jvmtiEventThreadStart ThreadStart
Definition: jvmti.h:932
JVMTI_PRIMITIVE_TYPE_LONG
@ JVMTI_PRIMITIVE_TYPE_LONG
Definition: jvmti.h:169
JNIEXPORT
#define JNIEXPORT
Definition: jni_md.h:29
jvmtiInterface_1_::size_of_callbacks
const jvmtiEventCallbacks jint size_of_callbacks
Definition: jvmti.h:1632
_jvmtiLocalVariableEntry::signature
char * signature
Definition: jvmti.h:625
jvmtiEventCallbacks::MethodExit
jvmtiEventMethodExit MethodExit
Definition: jvmti.h:960
Agent_OnAttach
JNIEXPORT jint JNICALL Agent_OnAttach(JavaVM *vm, char *options, void *reserved)
jvmtiInterface_1_::generic_ptr
jmethodID char char char ** generic_ptr
Definition: jvmti.h:1348
jvmtiEventVMDeath
void(JNICALL * jvmtiEventVMDeath)(jvmtiEnv *jvmti_env, JNIEnv *jni_env)
Definition: jvmti.h:904
JVMTI_ITERATION_IGNORE
@ JVMTI_ITERATION_IGNORE
Definition: jvmti.h:212
jvmtiInterface_1_::value
jthread jint jint jobject value
Definition: jvmti.h:1146
jvmtiInterface_1_::signature_ptr
jclass jfieldID char char ** signature_ptr
Definition: jvmti.h:1322
jthread
jobject jthread
Definition: jvmti.h:72
jvmtiPrimitiveFieldCallback
jint(JNICALL * jvmtiPrimitiveFieldCallback)(jvmtiHeapReferenceKind kind, const jvmtiHeapReferenceInfo *info, jlong object_class_tag, jlong *object_tag_ptr, jvalue value, jvmtiPrimitiveType value_type, void *user_data)
Definition: jvmti.h:487
_jvmtiHeapReferenceInfoStackLocal::thread_id
jlong thread_id
Definition: jvmti.h:556
JVMTI_REFERENCE_INTERFACE
@ JVMTI_REFERENCE_INTERFACE
Definition: jvmti.h:203
jvmtiEventCallbacks::GarbageCollectionStart
jvmtiEventGarbageCollectionStart GarbageCollectionStart
Definition: jvmti.h:990
jvmtiInterface_1_::count_ptr
jint const jlong jint * count_ptr
Definition: jvmti.h:1593
jvmtiReservedCallback
jint(JNICALL * jvmtiReservedCallback)()
Definition: jvmti.h:496
jvmtiInterface_1_::groups_ptr
jint jthreadGroup ** groups_ptr
Definition: jvmti.h:1065
jvmtiInterface_1_::monitor_ptr
jthread jobject * monitor_ptr
Definition: jvmti.h:1053
_jvmtiHeapReferenceInfo::field
jvmtiHeapReferenceInfoField field
Definition: jvmti.h:579
JVMTI_HEAP_REFERENCE_SUPERCLASS
@ JVMTI_HEAP_REFERENCE_SUPERCLASS
Definition: jvmti.h:151
JVMTI_TYPE_CCHAR
@ JVMTI_TYPE_CCHAR
Definition: jvmti.h:251
_jvmtiLineNumberEntry::start_location
jlocation start_location
Definition: jvmti.h:618
_jvmtiHeapCallbacks::reserved14
jvmtiReservedCallback reserved14
Definition: jvmti.h:601
JVMTI_HEAP_REFERENCE_FIELD
@ JVMTI_HEAP_REFERENCE_FIELD
Definition: jvmti.h:143
jvmtiCapabilities::can_generate_all_class_hook_events
unsigned int can_generate_all_class_hook_events
Definition: jvmti.h:691
jvmtiInterface_1_::info_ptr
jobject jvmtiMonitorUsage * info_ptr
Definition: jvmti.h:1315
jvmtiEventVMStart
void(JNICALL * jvmtiEventVMStart)(jvmtiEnv *jvmti_env, JNIEnv *jni_env)
Definition: jvmti.h:921
jvmtiInterface_1_::event_thread
jvmtiEventMode jvmtiEvent jthread event_thread
Definition: jvmti.h:1011
JVMTI_VERSION_SHIFT_MINOR
@ JVMTI_VERSION_SHIFT_MINOR
Definition: jvmti.h:306
JVMTI_ERROR_INVALID_PRIORITY
@ JVMTI_ERROR_INVALID_PRIORITY
Definition: jvmti.h:341
JVMTI_ERROR_DUPLICATE
@ JVMTI_ERROR_DUPLICATE
Definition: jvmti.h:355
jvmtiInterface_1_::heap_object_callback
jclass jvmtiHeapObjectFilter jvmtiHeapObjectCallback heap_object_callback
Definition: jvmti.h:1583
classes
mtrace This agent library can be used to track method call and return counts It uses the same java_crw_demo library used by HPROF to do BCI on all or selected classfiles loaded into the Virtual Machine It will print out a sorted list of the most heavily used classes(as determined by the number of method calls into the class) and also include the call and return counts for all methods that are called. You can use this agent library as follows
Definition: README.txt:37
jclass
jobject jclass
Definition: jni.h:102
jvmtiInterface_1_::phase_ptr
jvmtiPhase * phase_ptr
Definition: jvmti.h:1682
_jvmtiHeapReferenceInfoStackLocal::location
jlocation location
Definition: jvmti.h:559
jlocation
jlong jlocation
Definition: jvmti.h:74
jvmtiPrimitiveType
jvmtiPrimitiveType
Definition: jvmti.h:163
jvmtiInterface_1_::prefix
const char * prefix
Definition: jvmti.h:1393
JVMTI_EVENT_CLASS_LOAD
@ JVMTI_EVENT_CLASS_LOAD
Definition: jvmti.h:399
jvmtiInterface_1_::class_definitions
jint const jvmtiClassDefinition * class_definitions
Definition: jvmti.h:1463
_jvmtiHeapReferenceInfoConstantPool::index
jint index
Definition: jvmti.h:552
jvmtiInterface_1_::reserved99
void * reserved99
Definition: jvmti.h:1511
jvmtiCapabilities::can_set_native_method_prefix
unsigned int can_set_native_method_prefix
Definition: jvmti.h:701
jvmtiInterface_1_::object_ref_callback
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback object_ref_callback
Definition: jvmti.h:1570
jvmtiInterface_1_::stack_info_ptr
jint jvmtiStackInfo ** stack_info_ptr
Definition: jvmti.h:1516
JVMTI_ERROR_INVALID_MONITOR
@ JVMTI_ERROR_INVALID_MONITOR
Definition: jvmti.h:357
JVMTI_VERSION_1_0
@ JVMTI_VERSION_1_0
Definition: jvmti.h:42
_jvmtiHeapReferenceInfoReserved::reserved3
jlong reserved3
Definition: jvmti.h:571
jvmtiInterface_1_::capabilities_ptr
jvmtiCapabilities * capabilities_ptr
Definition: jvmti.h:1471
jvmtiInterface_1_::function_table
jniNativeInterface ** function_table
Definition: jvmti.h:1627
JVMTI_THREAD_STATE_PARKED
@ JVMTI_THREAD_STATE_PARKED
Definition: jvmti.h:94
JVMTI_CLASS_STATUS_PREPARED
@ JVMTI_CLASS_STATUS_PREPARED
Definition: jvmti.h:220
jvmtiCapabilities::can_get_owned_monitor_stack_depth_info
unsigned int can_get_owned_monitor_stack_depth_info
Definition: jvmti.h:699
_jvmtiHeapReferenceInfoReserved
Definition: jvmti.h:568
JVMTI_EVENT_DYNAMIC_CODE_GENERATED
@ JVMTI_EVENT_DYNAMIC_CODE_GENERATED
Definition: jvmti.h:414
jvmtiInterface_1_::constant_pool_bytes_ptr
jclass jint jint unsigned char ** constant_pool_bytes_ptr
Definition: jvmti.h:1739
_jvmtiHeapCallbacks::heap_iteration_callback
jvmtiHeapIterationCallback heap_iteration_callback
Definition: jvmti.h:587
jvmtiEventCallbacks::VMInit
jvmtiEventVMInit VMInit
Definition: jvmti.h:928
jvmtiInterface_1_::group_count_ptr
jint * group_count_ptr
Definition: jvmti.h:1064
_jvmtiHeapCallbacks
Definition: jvmti.h:586
jvmtiVerboseFlag
jvmtiVerboseFlag
Definition: jvmti.h:312
JVMTI_KIND_OUT_BUF
@ JVMTI_KIND_OUT_BUF
Definition: jvmti.h:265
jvmtiInterface_1_::prefixes
jint char ** prefixes
Definition: jvmti.h:1398
_jvmtiHeapReferenceInfo
Definition: jvmti.h:578
_jvmtiHeapCallbacks::reserved7
jvmtiReservedCallback reserved7
Definition: jvmti.h:594
jvmtiInterface_1_::reserved40
void * reserved40
Definition: jvmti.h:1217
_jvmtiParamInfo::name
char * name
Definition: jvmti.h:630
jvmtiHeapObjectCallback
jvmtiIterationControl(JNICALL * jvmtiHeapObjectCallback)(jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)
Definition: jvmti.h:499
JNICALL
#define JNICALL
Definition: jni_md.h:31
jvmtiEventObjectFree
void(JNICALL * jvmtiEventObjectFree)(jvmtiEnv *jvmti_env, jlong tag)
Definition: jvmti.h:876
jvmtiEventFieldModification
void(JNICALL * jvmtiEventFieldModification)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jclass field_klass, jobject object, jfieldID field, char signature_type, jvalue new_value)
Definition: jvmti.h:803
JVMTI_HEAP_OBJECT_EITHER
@ JVMTI_HEAP_OBJECT_EITHER
Definition: jvmti.h:179
jvmtiInterface_1_::declaring_class_ptr
jclass jfieldID jclass * declaring_class_ptr
Definition: jvmti.h:1329
Agent_OnUnload
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm)
JVMTI_ERROR_INVALID_CLASS
@ JVMTI_ERROR_INVALID_CLASS
Definition: jvmti.h:346
JVMTI_HEAP_REFERENCE_CLASS_LOADER
@ JVMTI_HEAP_REFERENCE_CLASS_LOADER
Definition: jvmti.h:145
JVMTI_PHASE_DEAD
@ JVMTI_PHASE_DEAD
Definition: jvmti.h:283
JVMTI_EVENT_FIELD_ACCESS
@ JVMTI_EVENT_FIELD_ACCESS
Definition: jvmti.h:407
JVMTI_TYPE_JOBJECT
@ JVMTI_TYPE_JOBJECT
Definition: jvmti.h:245
_jvmtiTimerInfo::may_skip_backward
jboolean may_skip_backward
Definition: jvmti.h:654
JVMTI_ERROR_NATIVE_METHOD
@ JVMTI_ERROR_NATIVE_METHOD
Definition: jvmti.h:379
jvmtiInterface_1_::mode
jvmtiEventMode mode
Definition: jvmti.h:1009
JVMTI_ERROR_ABSENT_INFORMATION
@ JVMTI_ERROR_ABSENT_INFORMATION
Definition: jvmti.h:376
jvmtiInterface_1_::extensions
jint jvmtiExtensionFunctionInfo ** extensions
Definition: jvmti.h:1641
_jvmtiClassDefinition::class_byte_count
jint class_byte_count
Definition: jvmti.h:606
jvmtiInterface_1_::reserved97
void * reserved97
Definition: jvmti.h:1505
JVMTI_EVENT_MONITOR_CONTENDED_ENTER
@ JVMTI_EVENT_MONITOR_CONTENDED_ENTER
Definition: jvmti.h:418
_jvmtiExtensionEventInfo::param_count
jint param_count
Definition: jvmti.h:648
jvmtiInterface_1_::generic_ptr
jclass char char ** generic_ptr
Definition: jvmti.h:1257
jvmtiInterface_1_::name_ptr
jclass jfieldID char ** name_ptr
Definition: jvmti.h:1321
_jvmtiHeapReferenceInfoStackLocal::method
jmethodID method
Definition: jvmti.h:558
jvmtiCapabilities::can_generate_frame_pop_events
unsigned int can_generate_frame_pop_events
Definition: jvmti.h:683
jthreadGroup
jobject jthreadGroup
Definition: jvmti.h:73
_jvmtiHeapCallbacks::array_primitive_value_callback
jvmtiArrayPrimitiveValueCallback array_primitive_value_callback
Definition: jvmti.h:590
jvmtiInterface_1_::data
jthread const void * data
Definition: jvmti.h:1534
_jvmtiHeapCallbacks::heap_reference_callback
jvmtiHeapReferenceCallback heap_reference_callback
Definition: jvmti.h:588
jvmtiCapabilities::can_redefine_any_class
unsigned int can_redefine_any_class
Definition: jvmti.h:686
JVMTI_VERSION_1
@ JVMTI_VERSION_1
Definition: jvmti.h:41
jvmtiCapabilities::can_get_constant_pool
unsigned int can_get_constant_pool
Definition: jvmti.h:700
_jvmtiExtensionEventInfo::id
char * id
Definition: jvmti.h:646
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED
Definition: jvmti.h:363
jvmtiInterface_1_::prefix_count
jint prefix_count
Definition: jvmti.h:1397
JVMTI_VISIT_ABORT
@ JVMTI_VISIT_ABORT
Definition: jvmti.h:136
jvmtiInterface_1_::request_list
jint const jthread * request_list
Definition: jvmti.h:1486
JVMTI_TYPE_JCHAR
@ JVMTI_TYPE_JCHAR
Definition: jvmti.h:238
_jvmtiTimerInfo::kind
jvmtiTimerKind kind
Definition: jvmti.h:655
jvmtiInterface_1_::callback
jint jvmtiExtensionEvent callback
Definition: jvmti.h:1651
jvmtiInterface_1_::is_interface_ptr
jclass jboolean * is_interface_ptr
Definition: jvmti.h:1295
jvmtiInterface_1_::reserved3
jvmtiEventMode jvmtiEvent jthread void * reserved3
Definition: jvmti.h:1012
_jvmtiHeapReferenceInfoArray
Definition: jvmti.h:548
jvmtiInterface_1_::value
const char const char * value
Definition: jvmti.h:1678
jvmtiInterface_1_::callbacks
jint jclass const jvmtiHeapCallbacks * callbacks
Definition: jvmti.h:1609
_jvmtiHeapReferenceInfo::array
jvmtiHeapReferenceInfoArray array
Definition: jvmti.h:580
JVMTI_REFERENCE_CLASS_LOADER
@ JVMTI_REFERENCE_CLASS_LOADER
Definition: jvmti.h:200
_jvmtiExtensionFunctionInfo::id
char * id
Definition: jvmti.h:637
jvmtiInterface_1_::object_filter
jclass jvmtiHeapObjectFilter object_filter
Definition: jvmti.h:1582
jvmtiInterface_1_::groups_ptr
jthreadGroup jint jthread jint jthreadGroup ** groups_ptr
Definition: jvmti.h:1078
JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT
@ JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT
Definition: jvmti.h:144
jvmtiCapabilities::can_get_source_debug_extension
unsigned int can_get_source_debug_extension
Definition: jvmti.h:678
_jvmtiLineNumberEntry::line_number
jint line_number
Definition: jvmti.h:619
jvmtiInterface_1_::tag_ptr
jobject jlong * tag_ptr
Definition: jvmti.h:1550
jvmtiInterface_1_::signature_ptr
jclass char ** signature_ptr
Definition: jvmti.h:1256
jvmtiInterface_1_::location
jmethodID jlocation location
Definition: jvmti.h:1209
_jvmtiAddrLocationMap::location
jlocation location
Definition: jvmti.h:661
JVMTI_JAVA_LANG_THREAD_STATE_WAITING
@ JVMTI_JAVA_LANG_THREAD_STATE_WAITING
Definition: jvmti.h:111
jvmtiInterface_1_::table_ptr
jmethodID jint jvmtiLocalVariableEntry ** table_ptr
Definition: jvmti.h:1389
JVMTI_ERROR_NAMES_DONT_MATCH
@ JVMTI_ERROR_NAMES_DONT_MATCH
Definition: jvmti.h:369
jvmtiEventCallbacks::GarbageCollectionFinish
jvmtiEventGarbageCollectionFinish GarbageCollectionFinish
Definition: jvmti.h:992
_jvmtiMonitorUsage::owner
jthread owner
Definition: jvmti.h:610
jvmtiInterface_1_::depth
jthread jint depth
Definition: jvmti.h:1097
_jvmtiHeapCallbacks::reserved13
jvmtiReservedCallback reserved13
Definition: jvmti.h:600
jvmtiInterface_1_::max_frame_count
jint const jthread jint max_frame_count
Definition: jvmti.h:1523
_jvmtiMonitorUsage::waiters
jthread * waiters
Definition: jvmti.h:613
_jvmtiClassDefinition::klass
jclass klass
Definition: jvmti.h:605
_jvmtiFrameInfo::location
jlocation location
Definition: jvmti.h:537
jvmtiInterface_1_::user_data
jint jclass jobject const jvmtiHeapCallbacks const void * user_data
Definition: jvmti.h:1603
JVMTI_TYPE_JBYTE
@ JVMTI_TYPE_JBYTE
Definition: jvmti.h:237
JVMTI_VERBOSE_OTHER
@ JVMTI_VERBOSE_OTHER
Definition: jvmti.h:313
jvmtiCapabilities::can_generate_vm_object_alloc_events
unsigned int can_generate_vm_object_alloc_events
Definition: jvmti.h:694
JVMTI_ERROR_NO_MORE_FRAMES
@ JVMTI_ERROR_NO_MORE_FRAMES
Definition: jvmti.h:351
JVMTI_EVENT_VM_DEATH
@ JVMTI_EVENT_VM_DEATH
Definition: jvmti.h:395
JVMTI_EVENT_OBJECT_FREE
@ JVMTI_EVENT_OBJECT_FREE
Definition: jvmti.h:423
jvmtiEventCallbacks::ClassFileLoadHook
jvmtiEventClassFileLoadHook ClassFileLoadHook
Definition: jvmti.h:936
JVMTI_THREAD_STATE_VENDOR_2
@ JVMTI_THREAD_STATE_VENDOR_2
Definition: jvmti.h:99
JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED
@ JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED
Definition: jvmti.h:380
jvmtiCapabilities::can_access_local_variables
unsigned int can_access_local_variables
Definition: jvmti.h:679
_jvmtiLineNumberEntry
Definition: jvmti.h:617
JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE
@ JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE
Definition: jvmti.h:109
JVMTI_HEAP_ROOT_JNI_LOCAL
@ JVMTI_HEAP_ROOT_JNI_LOCAL
Definition: jvmti.h:189
JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION
@ JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION
Definition: jvmti.h:361
jvmtiCapabilities::can_generate_field_access_events
unsigned int can_generate_field_access_events
Definition: jvmti.h:667
JVMTI_KIND_ALLOC_BUF
@ JVMTI_KIND_ALLOC_BUF
Definition: jvmti.h:262
JVMTI_TIMER_USER_CPU
@ JVMTI_TIMER_USER_CPU
Definition: jvmti.h:271
_jvmtiHeapCallbacks::reserved9
jvmtiReservedCallback reserved9
Definition: jvmti.h:596
JVMTI_PRIMITIVE_TYPE_INT
@ JVMTI_PRIMITIVE_TYPE_INT
Definition: jvmti.h:168
IterateThroughHeap
heapViewer This agent library demonstrates how to get an easy view of the heap in terms of total object count and space used It uses and IterateThroughHeap() to count up all the objects of all the current loaded classes. The heap dump will happen at the event JVMTI_EVENT_VM_DEATH
jvmtiEventCallbacks::reserved79
jvmtiEventReserved reserved79
Definition: jvmti.h:986
JVMTI_HEAP_REFERENCE_CLASS
@ JVMTI_HEAP_REFERENCE_CLASS
Definition: jvmti.h:142
jvmtiInterface_1_::field_count_ptr
jclass jint * field_count_ptr
Definition: jvmti.h:1283
jvmtiInterface_1_::size_ptr
jmethodID jint * size_ptr
Definition: jvmti.h:1371
jvmtiInterface_1_::class_count_ptr
jobject jint * class_count_ptr
Definition: jvmti.h:1424
jvmtiInterface_1_::function_table
const jniNativeInterface * function_table
Definition: jvmti.h:1623
JVMTI_HEAP_REFERENCE_OTHER
@ JVMTI_HEAP_REFERENCE_OTHER
Definition: jvmti.h:158
JVMTI_EVENT_MONITOR_CONTENDED_ENTERED
@ JVMTI_EVENT_MONITOR_CONTENDED_ENTERED
Definition: jvmti.h:419
JVMTI_ERROR_ACCESS_DENIED
@ JVMTI_ERROR_ACCESS_DENIED
Definition: jvmti.h:382
_jvmtiStackInfo::frame_buffer
jvmtiFrameInfo * frame_buffer
Definition: jvmti.h:542
JVMTI_HEAP_ROOT_STACK_LOCAL
@ JVMTI_HEAP_ROOT_STACK_LOCAL
Definition: jvmti.h:188
jvmtiInterface_1_::reserved118
void * reserved118
Definition: jvmti.h:1616
jvmtiEventFramePop
void(JNICALL * jvmtiEventFramePop)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception)
Definition: jvmti.h:815
jvmtiInterface_1_::is_synthetic_ptr
jmethodID jboolean * is_synthetic_ptr
Definition: jvmti.h:1414
JVMTI_HEAP_REFERENCE_CONSTANT_POOL
@ JVMTI_HEAP_REFERENCE_CONSTANT_POOL
Definition: jvmti.h:150
JVMTI_EVENT_COMPILED_METHOD_UNLOAD
@ JVMTI_EVENT_COMPILED_METHOD_UNLOAD
Definition: jvmti.h:413
jvmtiStringPrimitiveValueCallback
jint(JNICALL * jvmtiStringPrimitiveValueCallback)(jlong class_tag, jlong size, jlong *tag_ptr, const jchar *value, jint value_length, void *user_data)
Definition: jvmti.h:493
jvmtiInterface_1_::location_ptr
jthread jint jmethodID jlocation * location_ptr
Definition: jvmti.h:1099
jvmtiEventMethodExit
void(JNICALL * jvmtiEventMethodExit)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jboolean was_popped_by_exception, jvalue return_value)
Definition: jvmti.h:834
jvmtiInterface_1_::info_ptr
jthread jvmtiThreadInfo * info_ptr
Definition: jvmti.h:1042
jvmtiInterface_1_::source_name_ptr
jclass char ** source_name_ptr
Definition: jvmti.h:1267
JNIInvokeInterface_
Definition: jni.h:1890
jvmtiCapabilities::can_retransform_classes
unsigned int can_retransform_classes
Definition: jvmti.h:702
JVMTI_HEAP_REFERENCE_INTERFACE
@ JVMTI_HEAP_REFERENCE_INTERFACE
Definition: jvmti.h:148
jvmtiEventMonitorWaited
void(JNICALL * jvmtiEventMonitorWaited)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jboolean timed_out)
Definition: jvmti.h:861
JVMTI_THREAD_STATE_ALIVE
@ JVMTI_THREAD_STATE_ALIVE
Definition: jvmti.h:85
jvmtiInterface_1_::object_filter
jvmtiHeapObjectFilter object_filter
Definition: jvmti.h:1575
JVMTI_HEAP_FILTER_CLASS_TAGGED
@ JVMTI_HEAP_FILTER_CLASS_TAGGED
Definition: jvmti.h:128
jvmtiEventReserved
void(JNICALL * jvmtiEventReserved)(void)
Definition: jvmti.h:717
JVMTI_CLASS_STATUS_ERROR
@ JVMTI_CLASS_STATUS_ERROR
Definition: jvmti.h:222
jvmtiEventCallbacks::ThreadEnd
jvmtiEventThreadEnd ThreadEnd
Definition: jvmti.h:934
jvmtiInterface_1_::stack_info_ptr
jint const jthread jint jvmtiStackInfo ** stack_info_ptr
Definition: jvmti.h:1524
JVMTI_TIMER_ELAPSED
@ JVMTI_TIMER_ELAPSED
Definition: jvmti.h:273
_jvmtiHeapReferenceInfoConstantPool
Definition: jvmti.h:551
JVMTI_EVENT_GARBAGE_COLLECTION_FINISH
@ JVMTI_EVENT_GARBAGE_COLLECTION_FINISH
Definition: jvmti.h:422
jvmtiEventCallbacks::CompiledMethodLoad
jvmtiEventCompiledMethodLoad CompiledMethodLoad
Definition: jvmti.h:964
_jvmtiHeapCallbacks::primitive_field_callback
jvmtiPrimitiveFieldCallback primitive_field_callback
Definition: jvmti.h:589
jvmtiEventVMInit
void(JNICALL * jvmtiEventVMInit)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
Definition: jvmti.h:908
JVMTI_TYPE_JINT
@ JVMTI_TYPE_JINT
Definition: jvmti.h:240
JVMTI_TYPE_JSHORT
@ JVMTI_TYPE_JSHORT
Definition: jvmti.h:239
jvmtiInterface_1_::stack_ref_callback
jvmtiHeapRootCallback jvmtiStackReferenceCallback stack_ref_callback
Definition: jvmti.h:1569
jvmtiInterface_1_::is_native_ptr
jmethodID jboolean * is_native_ptr
Definition: jvmti.h:1409
jvmtiEventCallbacks::MonitorWait
jvmtiEventMonitorWait MonitorWait
Definition: jvmti.h:974
JVMTI_HEAP_ROOT_THREAD
@ JVMTI_HEAP_ROOT_THREAD
Definition: jvmti.h:190
jvmtiEventCallbacks::MonitorContendedEntered
jvmtiEventMonitorContendedEntered MonitorContendedEntered
Definition: jvmti.h:980
JVMTI_EVENT_THREAD_START
@ JVMTI_EVENT_THREAD_START
Definition: jvmti.h:396
jvmtiEventThreadStart
void(JNICALL * jvmtiEventThreadStart)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
Definition: jvmti.h:899
JVMTI_ERROR_NOT_AVAILABLE
@ JVMTI_ERROR_NOT_AVAILABLE
Definition: jvmti.h:373
JVMTI_PRIMITIVE_TYPE_CHAR
@ JVMTI_PRIMITIVE_TYPE_CHAR
Definition: jvmti.h:166
JVMTI_TYPE_JDOUBLE
@ JVMTI_TYPE_JDOUBLE
Definition: jvmti.h:243
_jvmtiExtensionEventInfo::extension_event_index
jint extension_event_index
Definition: jvmti.h:645
jvmtiEventClassPrepare
void(JNICALL * jvmtiEventClassPrepare)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)
Definition: jvmti.h:746
jvmtiInterface_1_::thread_count
jint thread_count
Definition: jvmti.h:1521
JVMTI_ERROR_INTERRUPT
@ JVMTI_ERROR_INTERRUPT
Definition: jvmti.h:359
jvmtiInterface_1_::property
const char * property
Definition: jvmti.h:1672
jvmtiCapabilities::can_suspend
unsigned int can_suspend
Definition: jvmti.h:685
jvmtiInterface_1_::nanos_ptr
jlong * nanos_ptr
Definition: jvmti.h:1690
JVMTI_TYPE_JMETHODID
@ JVMTI_TYPE_JMETHODID
Definition: jvmti.h:250
jvmtiEventGarbageCollectionFinish
void(JNICALL * jvmtiEventGarbageCollectionFinish)(jvmtiEnv *jvmti_env)
Definition: jvmti.h:822
jvmtiInterface_1_::owned_monitors_ptr
jthread jint jobject ** owned_monitors_ptr
Definition: jvmti.h:1048
jvmtiCapabilities::can_get_synthetic_attribute
unsigned int can_get_synthetic_attribute
Definition: jvmti.h:669
JVMTI_EVENT_VM_OBJECT_ALLOC
@ JVMTI_EVENT_VM_OBJECT_ALLOC
Definition: jvmti.h:424
jchar
unsigned short jchar
Definition: jni.h:58
_jvmtiHeapReferenceInfoReserved::reserved7
jlong reserved7
Definition: jvmti.h:575
jvmtiInterface_1_::fields_ptr
jclass jint jfieldID ** fields_ptr
Definition: jvmti.h:1284
JVMTI_TYPE_JCLASS
@ JVMTI_TYPE_JCLASS
Definition: jvmti.h:247
jvmtiCapabilities::can_generate_monitor_events
unsigned int can_generate_monitor_events
Definition: jvmti.h:693
jvmtiInterface_1_::user_data
jvmtiHeapRootCallback jvmtiStackReferenceCallback jvmtiObjectReferenceCallback const void * user_data
Definition: jvmti.h:1571
JVMTI_THREAD_STATE_SLEEPING
@ JVMTI_THREAD_STATE_SLEEPING
Definition: jvmti.h:92
jvmtiInterface_1_::value
jthread jint jint jint value
Definition: jvmti.h:1153
JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING
@ JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING
Definition: jvmti.h:112
jvmtiInterface_1_::version_ptr
jint * version_ptr
Definition: jvmti.h:1467
_jvmtiClassDefinition
Definition: jvmti.h:604
jvmtiCapabilities::can_get_thread_cpu_time
unsigned int can_get_thread_cpu_time
Definition: jvmti.h:688
JVMTI_ERROR_CLASS_NOT_PREPARED
@ JVMTI_ERROR_CLASS_NOT_PREPARED
Definition: jvmti.h:347
_jvmtiThreadGroupInfo::max_priority
jint max_priority
Definition: jvmti.h:532
JVMTI_MIN_EVENT_TYPE_VAL
@ JVMTI_MIN_EVENT_TYPE_VAL
Definition: jvmti.h:393
jvmtiInterface_1_::thread_state_ptr
jthread jint * thread_state_ptr
Definition: jvmti.h:1088
jint
long jint
Definition: jni_md.h:33
jvmtiInterface_1_::event_type
jvmtiEvent event_type
Definition: jvmti.h:1636
JVMTI_TYPE_JLONG
@ JVMTI_TYPE_JLONG
Definition: jvmti.h:241
_jvmtiMonitorUsage
Definition: jvmti.h:609
_jvmtiAddrLocationMap
Definition: jvmti.h:659
JVMTI_REFERENCE_CLASS
@ JVMTI_REFERENCE_CLASS
Definition: jvmti.h:197
jvmtiInterface_1_::value
jthread jlong value
Definition: jvmti.h:1444
JVMTI_HEAP_REFERENCE_JNI_LOCAL
@ JVMTI_HEAP_REFERENCE_JNI_LOCAL
Definition: jvmti.h:156
jvmtiEventCallbacks::DynamicCodeGenerated
jvmtiEventDynamicCodeGenerated DynamicCodeGenerated
Definition: jvmti.h:968
jvmtiInterface_1_::count_ptr
jthread jint * count_ptr
Definition: jvmti.h:1083
jvmtiInterface_1_::extensions
jint jvmtiExtensionEventInfo ** extensions
Definition: jvmti.h:1646
jvmtiEventMethodEntry
void(JNICALL * jvmtiEventMethodEntry)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method)
Definition: jvmti.h:828
jvmtiInterface_1_::name_ptr
jvmtiError char ** name_ptr
Definition: jvmti.h:1659
JVMTI_ERROR_INVALID_OBJECT
@ JVMTI_ERROR_INVALID_OBJECT
Definition: jvmti.h:345
JVMTI_ERROR_NULL_POINTER
@ JVMTI_ERROR_NULL_POINTER
Definition: jvmti.h:375
jvmtiInterface_1_::group
jthreadGroup group
Definition: jvmti.h:1069
JNINativeInterface_
Definition: jni.h:214
JVMTI_JAVA_LANG_THREAD_STATE_NEW
@ JVMTI_JAVA_LANG_THREAD_STATE_NEW
Definition: jvmti.h:107
JVMTI_EVENT_GARBAGE_COLLECTION_START
@ JVMTI_EVENT_GARBAGE_COLLECTION_START
Definition: jvmti.h:421
_jvmtiThreadGroupInfo::is_daemon
jboolean is_daemon
Definition: jvmti.h:533
_jvmtiFrameInfo::method
jmethodID method
Definition: jvmti.h:536
jvmtiError
jvmtiError
Definition: jvmti.h:337
jfloat
float jfloat
Definition: jni.h:60
jvmtiInterface_1_::value_ptr
jthread jint jint jobject * value_ptr
Definition: jvmti.h:1111
JVMTI_TIMER_TOTAL_CPU
@ JVMTI_TIMER_TOTAL_CPU
Definition: jvmti.h:272
_jvmtiLocalVariableEntry::name
char * name
Definition: jvmti.h:624
JVMTI_PHASE_START
@ JVMTI_PHASE_START
Definition: jvmti.h:281
_jvmtiStackInfo::state
jint state
Definition: jvmti.h:541
_jvmtiHeapReferenceInfo::other
jvmtiHeapReferenceInfoReserved other
Definition: jvmti.h:584
JVMTI_REFERENCE_CONSTANT_POOL
@ JVMTI_REFERENCE_CONSTANT_POOL
Definition: jvmti.h:205
_jvmtiHeapCallbacks::reserved10
jvmtiReservedCallback reserved10
Definition: jvmti.h:597
GetLoadedClasses
heapViewer This agent library demonstrates how to get an easy view of the heap in terms of total object count and space used It uses GetLoadedClasses()
jvmtiInterface_1_::max_frame_count
jint max_frame_count
Definition: jvmti.h:1515
JVMTI_VERSION
@ JVMTI_VERSION
Definition: jvmti.h:46
jvmtiEventException
void(JNICALL * jvmtiEventException)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception, jmethodID catch_method, jlocation catch_location)
Definition: jvmti.h:775
_jvmtiThreadGroupInfo::parent
jthreadGroup parent
Definition: jvmti.h:530
jvmtiInterface_1_::status_ptr
jclass jint * status_ptr
Definition: jvmti.h:1262
jvmtiEventCallbacks::ObjectFree
jvmtiEventObjectFree ObjectFree
Definition: jvmti.h:994
jvmtiHeapObjectFilter
jvmtiHeapObjectFilter
Definition: jvmti.h:176
jvmtiInterface_1_::classloader_ptr
jclass jobject * classloader_ptr
Definition: jvmti.h:1305
jvmtiEventCallbacks::VMDeath
jvmtiEventVMDeath VMDeath
Definition: jvmti.h:930
jvmtiInterface_1_::max_ptr
jmethodID jint * max_ptr
Definition: jvmti.h:1366
jvmtiCapabilities::can_generate_resource_exhaustion_heap_events
unsigned int can_generate_resource_exhaustion_heap_events
Definition: jvmti.h:704
_jvmtiExtensionFunctionInfo::error_count
jint error_count
Definition: jvmti.h:641
JVMTI_EVENT_DATA_DUMP_REQUEST
@ JVMTI_EVENT_DATA_DUMP_REQUEST
Definition: jvmti.h:415
_jvmtiExtensionFunctionInfo::params
jvmtiParamInfo * params
Definition: jvmti.h:640
jvmtiInterface_1_::declaring_class_ptr
jmethodID jclass * declaring_class_ptr
Definition: jvmti.h:1353
JVMTI_HEAP_FILTER_TAGGED
@ JVMTI_HEAP_FILTER_TAGGED
Definition: jvmti.h:126
jvmtiCapabilities::can_tag_objects
unsigned int can_tag_objects
Definition: jvmti.h:665
_jvmtiHeapReferenceInfoField
Definition: jvmti.h:545
jvmtiInterface_1_::value
jthread jint jint jdouble value
Definition: jvmti.h:1174
JVMTI_ERROR_TYPE_MISMATCH
@ JVMTI_ERROR_TYPE_MISMATCH
Definition: jvmti.h:353
JVMTI_HEAP_ROOT_JNI_GLOBAL
@ JVMTI_HEAP_ROOT_JNI_GLOBAL
Definition: jvmti.h:185
_jvmtiExtensionEventInfo::short_description
char * short_description
Definition: jvmti.h:647
jvmtiEventCallbacks::DataDumpRequest
jvmtiEventDataDumpRequest DataDumpRequest
Definition: jvmti.h:970
jvmtiInterface_1_::entry_count_ptr
jmethodID jint * entry_count_ptr
Definition: jvmti.h:1376
JVMTI_HEAP_REFERENCE_THREAD
@ JVMTI_HEAP_REFERENCE_THREAD
Definition: jvmti.h:157
JVMTI_THREAD_STATE_IN_OBJECT_WAIT
@ JVMTI_THREAD_STATE_IN_OBJECT_WAIT
Definition: jvmti.h:93
jvmtiInterface_1_::group_count_ptr
jthreadGroup jint jthread jint * group_count_ptr
Definition: jvmti.h:1077
_jvmtiParamInfo::base_type
jvmtiParamTypes base_type
Definition: jvmti.h:632
jvmtiObjectReferenceCallback
jvmtiIterationControl(JNICALL * jvmtiObjectReferenceCallback)(jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong referrer_tag, jint referrer_index, void *user_data)
Definition: jvmti.h:508
_jvmtiEnv
Definition: jvmti.h:1786
jvmtiEventCallbacks::FieldAccess
jvmtiEventFieldAccess FieldAccess
Definition: jvmti.h:954
_jvmtiThreadInfo::priority
jint priority
Definition: jvmti.h:520
jvmtiInterface_1_::thread
jthread thread
Definition: jvmti.h:1024
jvmtiInterface_1_::callbacks
jint jclass jobject const jvmtiHeapCallbacks * callbacks
Definition: jvmti.h:1602
jvmtiInterface_1_::data
const void * data
Definition: jvmti.h:1747
jvmtiCapabilities::int
unsigned int
Definition: jvmti.h:706
jvmtiInterface_1_::class_count
jint class_count
Definition: jvmti.h:1462
jvmtiArrayPrimitiveValueCallback
jint(JNICALL * jvmtiArrayPrimitiveValueCallback)(jlong class_tag, jlong size, jlong *tag_ptr, jint element_count, jvmtiPrimitiveType element_type, const void *elements, void *user_data)
Definition: jvmti.h:490
JVMTI_THREAD_STATE_WAITING
@ JVMTI_THREAD_STATE_WAITING
Definition: jvmti.h:89
jvmtiInterface_1_::thread_ptr
jthread * thread_ptr
Definition: jvmti.h:1092
jvmtiInterface_1_::tag_count
jint tag_count
Definition: jvmti.h:1591
jvmtiInterface_1_::classes
jint const jclass * classes
Definition: jvmti.h:1765
SetTag
heapViewer This agent library demonstrates how to get an easy view of the heap in terms of total object count and space used It uses SetTag()
jvmtiInterface_1_::methods_ptr
jclass jint jmethodID ** methods_ptr
Definition: jvmti.h:1278
_jvmtiHeapReferenceInfoStackLocal::thread_tag
jlong thread_tag
Definition: jvmti.h:555
jvmtiInterface_1_::monitor_info_ptr
jthread jint jvmtiMonitorStackDepthInfo ** monitor_info_ptr
Definition: jvmti.h:1771
jvmtiInterface_1_::error
jvmtiError error
Definition: jvmti.h:1658
JVMTI_THREAD_STATE_TERMINATED
@ JVMTI_THREAD_STATE_TERMINATED
Definition: jvmti.h:86
JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
@ JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
Definition: jvmti.h:91
jvmtiInterface_1_::mem_ptr
jlong unsigned char ** mem_ptr
Definition: jvmti.h:1247
JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP
@ JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP
Definition: jvmti.h:331
jvmtiInterface_1_::arg
jthread jvmtiStartFunction const void * arg
Definition: jvmti.h:1059
jvmtiInterface_1_::threads_count_ptr
jint * threads_count_ptr
Definition: jvmti.h:1019
JVMTI_THREAD_STATE_VENDOR_1
@ JVMTI_THREAD_STATE_VENDOR_1
Definition: jvmti.h:98
JVMTI_REFERENCE_FIELD
@ JVMTI_REFERENCE_FIELD
Definition: jvmti.h:198
JVMTI_PRIMITIVE_TYPE_BYTE
@ JVMTI_PRIMITIVE_TYPE_BYTE
Definition: jvmti.h:165
JVMTI_EVENT_METHOD_EXIT
@ JVMTI_EVENT_METHOD_EXIT
Definition: jvmti.h:410
jvmtiEventClassFileLoadHook
void(JNICALL * jvmtiEventClassFileLoadHook)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jclass class_being_redefined, jobject loader, const char *name, jobject protection_domain, jint class_data_len, const unsigned char *class_data, jint *new_class_data_len, unsigned char **new_class_data)
Definition: jvmti.h:728
jvmtiInterface_1_::klass
jint jclass klass
Definition: jvmti.h:1600
JVMTI_RESOURCE_EXHAUSTED_THREADS
@ JVMTI_RESOURCE_EXHAUSTED_THREADS
Definition: jvmti.h:332
JVMTI_HEAP_FILTER_CLASS_UNTAGGED
@ JVMTI_HEAP_FILTER_CLASS_UNTAGGED
Definition: jvmti.h:129
JVMTI_VERSION_MASK_MICRO
@ JVMTI_VERSION_MASK_MICRO
Definition: jvmti.h:299
jvmtiInterface_1_::minor_version_ptr
jclass jint * minor_version_ptr
Definition: jvmti.h:1731
jvmtiInterface_1_::user_data
jclass jvmtiHeapObjectFilter jvmtiHeapObjectCallback const void * user_data
Definition: jvmti.h:1584
jvmtiCapabilities::can_get_current_contended_monitor
unsigned int can_get_current_contended_monitor
Definition: jvmti.h:671
jvmtiInterface_1_::interfaces_ptr
jclass jint jclass ** interfaces_ptr
Definition: jvmti.h:1290
jvmtiEventMonitorContendedEntered
void(JNICALL * jvmtiEventMonitorContendedEntered)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)
Definition: jvmti.h:848
jvmtiInterface_1_::user_data
jvmtiHeapObjectFilter jvmtiHeapObjectCallback const void * user_data
Definition: jvmti.h:1577
jvmtiStackReferenceCallback
jvmtiIterationControl(JNICALL * jvmtiStackReferenceCallback)(jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, jlong thread_tag, jint depth, jmethodID method, jint slot, void *user_data)
Definition: jvmti.h:505
_jvmtiMonitorUsage::notify_waiter_count
jint notify_waiter_count
Definition: jvmti.h:614
JVMTI_THREAD_MIN_PRIORITY
@ JVMTI_THREAD_MIN_PRIORITY
Definition: jvmti.h:118
_jvmtiMonitorStackDepthInfo::monitor
jobject monitor
Definition: jvmti.h:526
jvmtiCapabilities::can_generate_method_exit_events
unsigned int can_generate_method_exit_events
Definition: jvmti.h:690
JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED
@ JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED
Definition: jvmti.h:110
jvmtiCapabilities::can_get_owned_monitor_info
unsigned int can_get_owned_monitor_info
Definition: jvmti.h:670
jvmtiParamTypes
jvmtiParamTypes
Definition: jvmti.h:236
jvmtiInterface_1_::modifiers_ptr
jclass jfieldID jint * modifiers_ptr
Definition: jvmti.h:1335
jvmtiInterface_1_::object
jobject object
Definition: jvmti.h:1309
JVMTI_HEAP_REFERENCE_STACK_LOCAL
@ JVMTI_HEAP_REFERENCE_STACK_LOCAL
Definition: jvmti.h:155
jvmtiInterface_1_::value_ptr
jthread jint jobject * value_ptr
Definition: jvmti.h:1782
jvmtiInterface_1_::max_frame_count
jthread jint jint max_frame_count
Definition: jvmti.h:1540
JVMTI_EVENT_EXCEPTION
@ JVMTI_EVENT_EXCEPTION
Definition: jvmti.h:402
JVMTI_PRIMITIVE_TYPE_SHORT
@ JVMTI_PRIMITIVE_TYPE_SHORT
Definition: jvmti.h:167
_jvmtiHeapReferenceInfo::stack_local
jvmtiHeapReferenceInfoStackLocal stack_local
Definition: jvmti.h:582
jvmtiInterface_1_::start_depth
jthread jint start_depth
Definition: jvmti.h:1539
JVMTI_VERSION_MASK_INTERFACE_TYPE
@ JVMTI_VERSION_MASK_INTERFACE_TYPE
Definition: jvmti.h:296
JVMTI_MAX_EVENT_TYPE_VAL
@ JVMTI_MAX_EVENT_TYPE_VAL
Definition: jvmti.h:425
jvmtiEventMonitorWait
void(JNICALL * jvmtiEventMonitorWait)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object, jlong timeout)
Definition: jvmti.h:854
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED
Definition: jvmti.h:364
_jvmtiLocalVariableEntry::start_location
jlocation start_location
Definition: jvmti.h:622
_jvmtiLocalVariableEntry::slot
jint slot
Definition: jvmti.h:627
jvmtiInterface_1_
Definition: jvmti.h:1002
_jvmtiMonitorUsage::waiter_count
jint waiter_count
Definition: jvmti.h:612
_jvmtiMonitorUsage::entry_count
jint entry_count
Definition: jvmti.h:611
JVMTI_REFERENCE_SIGNERS
@ JVMTI_REFERENCE_SIGNERS
Definition: jvmti.h:201
jvmtiInterface_1_::is_modifiable_class_ptr
jclass jboolean * is_modifiable_class_ptr
Definition: jvmti.h:1242
jvmtiEventCompiledMethodUnload
void(JNICALL * jvmtiEventCompiledMethodUnload)(jvmtiEnv *jvmti_env, jmethodID method, const void *code_addr)
Definition: jvmti.h:761
jvmtiInterface_1_::generic_ptr
jclass jfieldID char char char ** generic_ptr
Definition: jvmti.h:1323
jvmtiCapabilities
Definition: jvmti.h:664
jvmtiInterface_1_::thread_count_ptr
jthreadGroup jint * thread_count_ptr
Definition: jvmti.h:1075
_jvmtiHeapCallbacks::reserved8
jvmtiReservedCallback reserved8
Definition: jvmti.h:595
jvmtiInterface_1_::priority
jthread jvmtiStartFunction const void jint priority
Definition: jvmti.h:1060
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED
@ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED
Definition: jvmti.h:370
JVMTI_EVENT_MONITOR_WAIT
@ JVMTI_EVENT_MONITOR_WAIT
Definition: jvmti.h:416
jvmtiInterface_1_::heap_root_callback
jvmtiHeapRootCallback heap_root_callback
Definition: jvmti.h:1568
JVMTI_ERROR_MAX
@ JVMTI_ERROR_MAX
Definition: jvmti.h:387
JVMTI_HEAP_ROOT_OTHER
@ JVMTI_HEAP_ROOT_OTHER
Definition: jvmti.h:191
jvmtiExtensionEvent
void(JNICALL * jvmtiExtensionEvent)(jvmtiEnv *jvmti_env,...)
Definition: jvmti.h:514
jvmtiInterface_1_::is_array_class_ptr
jclass jboolean * is_array_class_ptr
Definition: jvmti.h:1300
jvmtiInterface_1_::initiating_loader
jobject initiating_loader
Definition: jvmti.h:1423
jvmtiInterface_1_::jvmtiError
jvmtiError(JNICALL *SetEventNotificationMode)(jvmtiEnv *env
_jvmtiHeapReferenceInfoReserved::reserved6
jlong reserved6
Definition: jvmti.h:574
_jvmtiTimerInfo::reserved2
jlong reserved2
Definition: jvmti.h:657
jvmtiInterface_1_::value_ptr
jthread jint jint jint * value_ptr
Definition: jvmti.h:1118
jvmtiInterface_1_::reserved94
void * reserved94
Definition: jvmti.h:1496
JVMTI_EVENT_METHOD_ENTRY
@ JVMTI_EVENT_METHOD_ENTRY
Definition: jvmti.h:409
jvmtiCapabilities::can_pop_frame
unsigned int can_pop_frame
Definition: jvmti.h:673
JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN
@ JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN
Definition: jvmti.h:147
_jvmtiHeapReferenceInfoJniLocal::thread_id
jlong thread_id
Definition: jvmti.h:564
jvmtiEventCallbacks::VMObjectAlloc
jvmtiEventVMObjectAlloc VMObjectAlloc
Definition: jvmti.h:996
JVMTI_ERROR_UNMODIFIABLE_CLASS
@ JVMTI_ERROR_UNMODIFIABLE_CLASS
Definition: jvmti.h:372
jvmtiInterface_1_::monitor
jrawMonitorID monitor
Definition: jvmti.h:1183
jvmtiInterface_1_::value
jthread jfloat value
Definition: jvmti.h:1449
JVMTI_REFERENCE_STATIC_FIELD
@ JVMTI_REFERENCE_STATIC_FIELD
Definition: jvmti.h:204
jvmtiInterface_1_::tags
jint const jlong * tags
Definition: jvmti.h:1592
jvmtiInterface_1_::request_count
jint request_count
Definition: jvmti.h:1485
jvmtiEventCallbacks::VMStart
jvmtiEventVMStart VMStart
Definition: jvmti.h:942
jvmtiInterface_1_::modifiers_ptr
jclass jint * modifiers_ptr
Definition: jvmti.h:1272
JVMTI_EVENT_SINGLE_STEP
@ JVMTI_EVENT_SINGLE_STEP
Definition: jvmti.h:404
JVMTI_HEAP_REFERENCE_JNI_GLOBAL
@ JVMTI_HEAP_REFERENCE_JNI_GLOBAL
Definition: jvmti.h:152
jvmtiInterface_1_::value_ptr
jthread jint jint jfloat * value_ptr
Definition: jvmti.h:1132
env
or Map< String,?> env
Definition: README.txt:14
JVMTI_HEAP_ROOT_MONITOR
@ JVMTI_HEAP_ROOT_MONITOR
Definition: jvmti.h:187
JVMTI_THREAD_STATE_RUNNABLE
@ JVMTI_THREAD_STATE_RUNNABLE
Definition: jvmti.h:87
jvmtiInterface_1_::value
jthread jdouble value
Definition: jvmti.h:1454
jvmtiCapabilities::can_get_line_numbers
unsigned int can_get_line_numbers
Definition: jvmti.h:677
jvmtiCapabilities::can_generate_single_step_events
unsigned int can_generate_single_step_events
Definition: jvmti.h:681
jvmtiEventCallbacks::MethodEntry
jvmtiEventMethodEntry MethodEntry
Definition: jvmti.h:958
jvmtiEventCallbacks::FramePop
jvmtiEventFramePop FramePop
Definition: jvmti.h:950
_jvmtiHeapReferenceInfo::constant_pool
jvmtiHeapReferenceInfoConstantPool constant_pool
Definition: jvmti.h:581
jvmtiInterface_1_::extension_event_index
jint extension_event_index
Definition: jvmti.h:1650
JVMTI_KIND_IN_BUF
@ JVMTI_KIND_IN_BUF
Definition: jvmti.h:261
JVMTI_THREAD_STATE_VENDOR_3
@ JVMTI_THREAD_STATE_VENDOR_3
Definition: jvmti.h:100
jvmtiEventExceptionCatch
void(JNICALL * jvmtiEventExceptionCatch)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception)
Definition: jvmti.h:785
jboolean
unsigned char jboolean
Definition: jni.h:57
jvmtiInterface_1_::end_location_ptr
jmethodID jlocation jlocation * end_location_ptr
Definition: jvmti.h:1383
jvmtiInterface_1_::value_ptr
const char char ** value_ptr
Definition: jvmti.h:1673
jvmtiInterface_1_::heap_object_callback
jvmtiHeapObjectFilter jvmtiHeapObjectCallback heap_object_callback
Definition: jvmti.h:1576
_jvmtiHeapReferenceInfoStackLocal::slot
jint slot
Definition: jvmti.h:560
JVMTI_TYPE_JFIELDID
@ JVMTI_TYPE_JFIELDID
Definition: jvmti.h:249
jvmtiInterface_1_::reserved117
void * reserved117
Definition: jvmti.h:1613
jvmtiEventCallbacks::ClassPrepare
jvmtiEventClassPrepare ClassPrepare
Definition: jvmti.h:940
_jvmtiLocalVariableEntry
Definition: jvmti.h:621
jvmtiInterface_1_::reserved96
void * reserved96
Definition: jvmti.h:1502
JVMTI_ERROR_INVALID_THREAD
@ JVMTI_ERROR_INVALID_THREAD
Definition: jvmti.h:339
JVMTI_JLOCATION_JVMBCI
@ JVMTI_JLOCATION_JVMBCI
Definition: jvmti.h:322
_jvmtiExtensionFunctionInfo
Definition: jvmti.h:635
jvmtiInterface_1_::reserved1
void * reserved1
Definition: jvmti.h:1005
_jvmtiExtensionFunctionInfo::param_count
jint param_count
Definition: jvmti.h:639
jfieldID
struct _jfieldID * jfieldID
Definition: jni.h:133
jvmtiInterface_1_::threads_ptr
jint jthread ** threads_ptr
Definition: jvmti.h:1020
JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED
@ JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED
Definition: jvmti.h:108
jni.h
jvmtiEventNativeMethodBind
void(JNICALL * jvmtiEventNativeMethodBind)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, void *address, void **new_address_ptr)
Definition: jvmti.h:868
JVMTI_THREAD_STATE_IN_NATIVE
@ JVMTI_THREAD_STATE_IN_NATIVE
Definition: jvmti.h:97
jvmtiCapabilities::can_get_monitor_info
unsigned int can_get_monitor_info
Definition: jvmti.h:672
jvmtiCapabilities::can_generate_native_method_bind_events
unsigned int can_generate_native_method_bind_events
Definition: jvmti.h:695
jvmtiEventCallbacks::NativeMethodBind
jvmtiEventNativeMethodBind NativeMethodBind
Definition: jvmti.h:962
JVMTI_TYPE_JTHREAD
@ JVMTI_TYPE_JTHREAD
Definition: jvmti.h:246
jvmtiInterface_1_::extension_count_ptr
jint * extension_count_ptr
Definition: jvmti.h:1640
jvmtiInterface_1_::source_debug_extension_ptr
jclass char ** source_debug_extension_ptr
Definition: jvmti.h:1476
jvmtiInterface_1_::owned_monitor_count_ptr
jthread jint * owned_monitor_count_ptr
Definition: jvmti.h:1047
jvalue
Definition: jni.h:120
_jvmtiHeapReferenceInfo::jni_local
jvmtiHeapReferenceInfoJniLocal jni_local
Definition: jvmti.h:583
JVMTI_ITERATION_ABORT
@ JVMTI_ITERATION_ABORT
Definition: jvmti.h:213
_jvmtiHeapReferenceInfoJniLocal
Definition: jvmti.h:562
jvmtiInterface_1_::value_ptr
jthread jint jint jdouble * value_ptr
Definition: jvmti.h:1139
JVMTI_EVENT_MONITOR_WAITED
@ JVMTI_EVENT_MONITOR_WAITED
Definition: jvmti.h:417
jvmtiInterface_1_::major_version_ptr
jclass jint jint * major_version_ptr
Definition: jvmti.h:1732
_jvmtiExtensionEventInfo
Definition: jvmti.h:644
jvmtiExtensionFunction
jvmtiError(JNICALL * jvmtiExtensionFunction)(jvmtiEnv *jvmti_env,...)
Definition: jvmti.h:511
jvmtiInterface_1_::count_ptr
jthread jint jint jvmtiFrameInfo jint * count_ptr
Definition: jvmti.h:1542
JVMTI_CLASS_STATUS_ARRAY
@ JVMTI_CLASS_STATUS_ARRAY
Definition: jvmti.h:223
jvmtiHeapRootCallback
jvmtiIterationControl(JNICALL * jvmtiHeapRootCallback)(jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong *tag_ptr, void *user_data)
Definition: jvmti.h:502
jvmtiInterface_1_::threads_ptr
jthreadGroup jint jthread ** threads_ptr
Definition: jvmti.h:1076
_jvmtiExtensionFunctionInfo::short_description
char * short_description
Definition: jvmti.h:638
name
A Simple Chat Server Example the server takes input from a it handles the startup and handles incoming connections on the listening sockets It keeps a list of connected client and provides methods for sending a message to them Client represents a connected it provides methods for reading writing from to the underlying socket It also contains a buffer of input read from the user DataReader provides the interface of the two states a user can be in Waiting for a name(and not receiving any messages while doing so, implemented by NameReader) and waiting for messages from the user(implemented by MessageReader). ClientReader contains the "main loop" for a connected client. NameReader is the initial state for a new client
JVMTI_ERROR_INVALID_LOCATION
@ JVMTI_ERROR_INVALID_LOCATION
Definition: jvmti.h:349
jvmtiInterface_1_::capabilities_ptr
const jvmtiCapabilities * capabilities_ptr
Definition: jvmti.h:1718
jvmtiInterface_1_::bytecodes_ptr
jmethodID jint unsigned char ** bytecodes_ptr
Definition: jvmti.h:1404
jvmtiInterface_1_::reserved119
void * reserved119
Definition: jvmti.h:1619
jvmtiInterface_1_::klass
jclass klass
Definition: jvmti.h:1221
_jvmtiParamInfo::null_ok
jboolean null_ok
Definition: jvmti.h:633
jvmtiInterface_1_::classes_ptr
jobject jint jclass ** classes_ptr
Definition: jvmti.h:1425
JVMTI_TYPE_JFLOAT
@ JVMTI_TYPE_JFLOAT
Definition: jvmti.h:242
jvmtiInterface_1_::monitor_info_count_ptr
jthread jint * monitor_info_count_ptr
Definition: jvmti.h:1770
jvmtiEnv
const struct jvmtiInterface_1_ * jvmtiEnv
Definition: jvmti.h:67
JVMTI_THREAD_STATE_SUSPENDED
@ JVMTI_THREAD_STATE_SUSPENDED
Definition: jvmti.h:95
jvmtiEventMonitorContendedEnter
void(JNICALL * jvmtiEventMonitorContendedEnter)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jobject object)
Definition: jvmti.h:842
jvmtiEventResourceExhausted
void(JNICALL * jvmtiEventResourceExhausted)(jvmtiEnv *jvmti_env, JNIEnv *jni_env, jint flags, const void *reserved, const char *description)
Definition: jvmti.h:880
JVMTI_TYPE_JVALUE
@ JVMTI_TYPE_JVALUE
Definition: jvmti.h:248
JVMTI_TYPE_JBOOLEAN
@ JVMTI_TYPE_JBOOLEAN
Definition: jvmti.h:244
JVMTI_ERROR_THREAD_SUSPENDED
@ JVMTI_ERROR_THREAD_SUSPENDED
Definition: jvmti.h:343
JVMTI_ERROR_ILLEGAL_ARGUMENT
@ JVMTI_ERROR_ILLEGAL_ARGUMENT
Definition: jvmti.h:378
JVMTI_EVENT_VM_START
@ JVMTI_EVENT_VM_START
Definition: jvmti.h:401
jvmtiCapabilities::can_generate_compiled_method_load_events
unsigned int can_generate_compiled_method_load_events
Definition: jvmti.h:692
JVMTI_TYPE_CVOID
@ JVMTI_TYPE_CVOID
Definition: jvmti.h:252
jvmtiIterationControl
jvmtiIterationControl
Definition: jvmti.h:210
_jvmtiHeapCallbacks::reserved11
jvmtiReservedCallback reserved11
Definition: jvmti.h:598