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