equal
deleted
inserted
replaced
188 JNIEXPORT void JNICALL |
188 JNIEXPORT void JNICALL |
189 JVM_InitStackTraceElementArray(JNIEnv *env, jobjectArray elements, jobject throwable); |
189 JVM_InitStackTraceElementArray(JNIEnv *env, jobjectArray elements, jobject throwable); |
190 |
190 |
191 JNIEXPORT void JNICALL |
191 JNIEXPORT void JNICALL |
192 JVM_InitStackTraceElement(JNIEnv* env, jobject element, jobject stackFrameInfo); |
192 JVM_InitStackTraceElement(JNIEnv* env, jobject element, jobject stackFrameInfo); |
|
193 |
|
194 /* |
|
195 * java.lang.NullPointerException |
|
196 */ |
|
197 |
|
198 JNIEXPORT jstring JNICALL |
|
199 JVM_GetExtendedNPEMessage(JNIEnv *env, jthrowable throwable); |
193 |
200 |
194 /* |
201 /* |
195 * java.lang.StackWalker |
202 * java.lang.StackWalker |
196 */ |
203 */ |
197 enum { |
204 enum { |
343 * utf: class name |
350 * utf: class name |
344 */ |
351 */ |
345 JNIEXPORT jclass JNICALL |
352 JNIEXPORT jclass JNICALL |
346 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf); |
353 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf); |
347 |
354 |
|
355 /* |
|
356 * Link the 'arg' class |
|
357 */ |
|
358 JNIEXPORT void JNICALL |
|
359 JVM_LinkClass(JNIEnv *env, jclass classClass, jclass arg); |
348 |
360 |
349 /* |
361 /* |
350 * Find a class from a boot class loader. Returns NULL if class not found. |
362 * Find a class from a boot class loader. Returns NULL if class not found. |
351 */ |
363 */ |
352 JNIEXPORT jclass JNICALL |
364 JNIEXPORT jclass JNICALL |
1037 |
1049 |
1038 /* Get classfile constants */ |
1050 /* Get classfile constants */ |
1039 #include "classfile_constants.h" |
1051 #include "classfile_constants.h" |
1040 |
1052 |
1041 /* |
1053 /* |
1042 * A function defined by the byte-code verifier and called by the VM. |
|
1043 * This is not a function implemented in the VM. |
|
1044 * |
|
1045 * Returns JNI_FALSE if verification fails. A detailed error message |
|
1046 * will be places in msg_buf, whose length is specified by buf_len. |
|
1047 */ |
|
1048 typedef jboolean (*verifier_fn_t)(JNIEnv *env, |
|
1049 jclass cb, |
|
1050 char * msg_buf, |
|
1051 jint buf_len); |
|
1052 |
|
1053 |
|
1054 /* |
|
1055 * Support for a VM-independent class format checker. |
1054 * Support for a VM-independent class format checker. |
1056 */ |
1055 */ |
1057 typedef struct { |
1056 typedef struct { |
1058 unsigned long code; /* byte code */ |
1057 unsigned long code; /* byte code */ |
1059 unsigned long excs; /* exceptions */ |
1058 unsigned long excs; /* exceptions */ |
1078 * Functions defined in libjava.so to perform string conversions. |
1077 * Functions defined in libjava.so to perform string conversions. |
1079 * |
1078 * |
1080 */ |
1079 */ |
1081 |
1080 |
1082 typedef jstring (*to_java_string_fn_t)(JNIEnv *env, char *str); |
1081 typedef jstring (*to_java_string_fn_t)(JNIEnv *env, char *str); |
1083 |
|
1084 typedef char *(*to_c_string_fn_t)(JNIEnv *env, jstring s, jboolean *b); |
|
1085 |
|
1086 /* This is the function defined in libjava.so that performs class |
|
1087 * format checks. This functions fills in size information about |
|
1088 * the class file and returns: |
|
1089 * |
|
1090 * 0: good |
|
1091 * -1: out of memory |
|
1092 * -2: bad format |
|
1093 * -3: unsupported version |
|
1094 * -4: bad class name |
|
1095 */ |
|
1096 |
|
1097 typedef jint (*check_format_fn_t)(char *class_name, |
|
1098 unsigned char *data, |
|
1099 unsigned int data_size, |
|
1100 class_size_info *class_size, |
|
1101 char *message_buffer, |
|
1102 jint buffer_length, |
|
1103 jboolean measure_only, |
|
1104 jboolean check_relaxed); |
|
1105 |
1082 |
1106 #define JVM_RECOGNIZED_CLASS_MODIFIERS (JVM_ACC_PUBLIC | \ |
1083 #define JVM_RECOGNIZED_CLASS_MODIFIERS (JVM_ACC_PUBLIC | \ |
1107 JVM_ACC_FINAL | \ |
1084 JVM_ACC_FINAL | \ |
1108 JVM_ACC_SUPER | \ |
1085 JVM_ACC_SUPER | \ |
1109 JVM_ACC_INTERFACE | \ |
1086 JVM_ACC_INTERFACE | \ |