46 *
47 * Second, this file contains the functions and constant definitions
48 * needed by the byte code verifier and class file format checker.
49 * These functions allow the verifier and format checker to be written
50 * in a VM-independent way.
51 *
52 * Third, this file contains various I/O and network operations needed
53 * by the standard Java I/O and network APIs.
54 */
55
56 /*
57 * Bump the version number when either of the following happens:
58 *
59 * 1. There is a change in JVM_* functions.
60 *
61 * 2. There is a change in the contract between VM and Java classes.
62 * For example, if the VM relies on a new private field in Thread
63 * class.
64 */
65
66 #define JVM_INTERFACE_VERSION 6
67
68 JNIEXPORT jint JNICALL
69 JVM_GetInterfaceVersion(void);
70
71 /*************************************************************************
72 PART 1: Functions for Native Libraries
73 ************************************************************************/
74 /*
75 * java.lang.Object
76 */
77 JNIEXPORT jint JNICALL
78 JVM_IHashCode(JNIEnv *env, jobject obj);
79
80 JNIEXPORT void JNICALL
81 JVM_MonitorWait(JNIEnv *env, jobject obj, jlong ms);
82
83 JNIEXPORT void JNICALL
84 JVM_MonitorNotify(JNIEnv *env, jobject obj);
85
86 JNIEXPORT void JNICALL
143 * longer strongly reachable may have to be inspected multiple times before it
144 * can be reclaimed.
145 */
146 JNIEXPORT jlong JNICALL
147 JVM_MaxObjectInspectionAge(void);
148
149 JNIEXPORT jlong JNICALL
150 JVM_TotalMemory(void);
151
152 JNIEXPORT jlong JNICALL
153 JVM_FreeMemory(void);
154
155 JNIEXPORT jlong JNICALL
156 JVM_MaxMemory(void);
157
158 JNIEXPORT jint JNICALL
159 JVM_ActiveProcessorCount(void);
160
161 JNIEXPORT jboolean JNICALL
162 JVM_IsUseContainerSupport(void);
163
164 JNIEXPORT void * JNICALL
165 JVM_LoadLibrary(const char *name);
166
167 JNIEXPORT void JNICALL
168 JVM_UnloadLibrary(void * handle);
169
170 JNIEXPORT void * JNICALL
171 JVM_FindLibraryEntry(void *handle, const char *name);
172
173 JNIEXPORT jboolean JNICALL
174 JVM_IsSupportedJNIVersion(jint version);
175
176 JNIEXPORT jobjectArray JNICALL
177 JVM_GetVmArguments(JNIEnv *env);
178
179 JNIEXPORT void JNICALL
180 JVM_InitializeFromArchive(JNIEnv* env, jclass cls);
181
182 JNIEXPORT void JNICALL
|
46 *
47 * Second, this file contains the functions and constant definitions
48 * needed by the byte code verifier and class file format checker.
49 * These functions allow the verifier and format checker to be written
50 * in a VM-independent way.
51 *
52 * Third, this file contains various I/O and network operations needed
53 * by the standard Java I/O and network APIs.
54 */
55
56 /*
57 * Bump the version number when either of the following happens:
58 *
59 * 1. There is a change in JVM_* functions.
60 *
61 * 2. There is a change in the contract between VM and Java classes.
62 * For example, if the VM relies on a new private field in Thread
63 * class.
64 */
65
66 #define JVM_INTERFACE_VERSION 7
67
68 JNIEXPORT jint JNICALL
69 JVM_GetInterfaceVersion(void);
70
71 /*************************************************************************
72 PART 1: Functions for Native Libraries
73 ************************************************************************/
74 /*
75 * java.lang.Object
76 */
77 JNIEXPORT jint JNICALL
78 JVM_IHashCode(JNIEnv *env, jobject obj);
79
80 JNIEXPORT void JNICALL
81 JVM_MonitorWait(JNIEnv *env, jobject obj, jlong ms);
82
83 JNIEXPORT void JNICALL
84 JVM_MonitorNotify(JNIEnv *env, jobject obj);
85
86 JNIEXPORT void JNICALL
143 * longer strongly reachable may have to be inspected multiple times before it
144 * can be reclaimed.
145 */
146 JNIEXPORT jlong JNICALL
147 JVM_MaxObjectInspectionAge(void);
148
149 JNIEXPORT jlong JNICALL
150 JVM_TotalMemory(void);
151
152 JNIEXPORT jlong JNICALL
153 JVM_FreeMemory(void);
154
155 JNIEXPORT jlong JNICALL
156 JVM_MaxMemory(void);
157
158 JNIEXPORT jint JNICALL
159 JVM_ActiveProcessorCount(void);
160
161 JNIEXPORT jboolean JNICALL
162 JVM_IsUseContainerSupport(void);
163
164 JNIEXPORT jlong JNICALL
165 JVM_AddressOf(jobject obj);
166
167 JNIEXPORT jlong JNICALL
168 JVM_SizeOf(jobject obj);
169
170 JNIEXPORT jlong JNICALL
171 JVM_FieldOffsetOf(jobject field);
172
173 JNIEXPORT jlong JNICALL
174 JVM_FieldSizeOf(jobject field);
175
176 JNIEXPORT jint JNICALL
177 JVM_GetReferencedObjects(jobject obj, jobjectArray ref_buf);
178
179 JNIEXPORT void * JNICALL
180 JVM_LoadLibrary(const char *name);
181
182 JNIEXPORT void JNICALL
183 JVM_UnloadLibrary(void * handle);
184
185 JNIEXPORT void * JNICALL
186 JVM_FindLibraryEntry(void *handle, const char *name);
187
188 JNIEXPORT jboolean JNICALL
189 JVM_IsSupportedJNIVersion(jint version);
190
191 JNIEXPORT jobjectArray JNICALL
192 JVM_GetVmArguments(JNIEnv *env);
193
194 JNIEXPORT void JNICALL
195 JVM_InitializeFromArchive(JNIEnv* env, jclass cls);
196
197 JNIEXPORT void JNICALL
|