src/hotspot/share/include/jvm.h
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54795 fd08f5a976e6
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
   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 | \