< prev index next >

src/hotspot/share/include/jvm.h

Print this page




1176 JNIEXPORT jobject JNICALL
1177 JVM_InitAgentProperties(JNIEnv *env, jobject agent_props);
1178 
1179 JNIEXPORT jstring JNICALL
1180 JVM_GetTemporaryDirectory(JNIEnv *env);
1181 
1182 /* Generics reflection support.
1183  *
1184  * Returns information about the given class's EnclosingMethod
1185  * attribute, if present, or null if the class had no enclosing
1186  * method.
1187  *
1188  * If non-null, the returned array contains three elements. Element 0
1189  * is the java.lang.Class of which the enclosing method is a member,
1190  * and elements 1 and 2 are the java.lang.Strings for the enclosing
1191  * method's name and descriptor, respectively.
1192  */
1193 JNIEXPORT jobjectArray JNICALL
1194 JVM_GetEnclosingMethodInfo(JNIEnv* env, jclass ofClass);
1195 
1196 /* =========================================================================
1197  * The following defines a private JVM interface that the JDK can query
1198  * for the JVM version and capabilities.  sun.misc.Version defines
1199  * the methods for getting the VM version and its capabilities.
1200  *
1201  * When a new bit is added, the following should be updated to provide
1202  * access to the new capability:
1203  *    HS:   JVM_GetVersionInfo and Abstract_VM_Version class
1204  *    SDK:  Version class
1205  *
1206  * Similary, a private JDK interface JDK_GetVersionInfo0 is defined for
1207  * JVM to query for the JDK version and capabilities.
1208  *
1209  * When a new bit is added, the following should be updated to provide
1210  * access to the new capability:
1211  *    HS:   JDK_Version class
1212  *    SDK:  JDK_GetVersionInfo0
1213  *
1214  * ==========================================================================
1215  */
1216 typedef struct {
1217     unsigned int jvm_version;  /* Encoded $VNUM as specified by JEP-223 */
1218     unsigned int patch_version : 8; /* JEP-223 patch version */
1219     unsigned int reserved3 : 8;
1220     unsigned int reserved1 : 16;
1221     unsigned int reserved2;
1222 
1223     /* The following bits represents JVM supports that JDK has dependency on.
1224      * JDK can use these bits to determine which JVM version
1225      * and support it has to maintain runtime compatibility.
1226      *
1227      * When a new bit is added in a minor or update release, make sure
1228      * the new bit is also added in the main/baseline.
1229      */
1230     unsigned int is_attach_supported : 1;
1231     unsigned int : 31;
1232     unsigned int : 32;
1233     unsigned int : 32;
1234 } jvm_version_info;
1235 
1236 #define JVM_VERSION_MAJOR(version) ((version & 0xFF000000) >> 24)
1237 #define JVM_VERSION_MINOR(version) ((version & 0x00FF0000) >> 16)
1238 #define JVM_VERSION_SECURITY(version) ((version & 0x0000FF00) >> 8)
1239 #define JVM_VERSION_BUILD(version) ((version & 0x000000FF))
1240 
1241 JNIEXPORT void JNICALL
1242 JVM_GetVersionInfo(JNIEnv* env, jvm_version_info* info, size_t info_size);
1243 
1244 typedef struct {
1245     unsigned int jdk_version; /* Encoded $VNUM as specified by JEP-223 */
1246     unsigned int patch_version : 8; /* JEP-223 patch version */
1247     unsigned int reserved3 : 8;
1248     unsigned int reserved1 : 16;
1249     unsigned int reserved2;
1250     unsigned int : 32;
1251     unsigned int : 32;
1252     unsigned int : 32;
1253 } jdk_version_info;
1254 
1255 #define JDK_VERSION_MAJOR(version) ((version & 0xFF000000) >> 24)
1256 #define JDK_VERSION_MINOR(version) ((version & 0x00FF0000) >> 16)
1257 #define JDK_VERSION_SECURITY(version) ((version & 0x0000FF00) >> 8)
1258 #define JDK_VERSION_BUILD(version) ((version & 0x000000FF))
1259 
1260 /*
1261  * This is the function JDK_GetVersionInfo0 defined in libjava.so
1262  * that is dynamically looked up by JVM.
1263  */
1264 typedef void (*jdk_version_info_fn_t)(jdk_version_info* info, size_t info_size);
1265 
1266 /*
1267  * This structure is used by the launcher to get the default thread
1268  * stack size from the VM using JNI_GetDefaultJavaVMInitArgs() with a
1269  * version of 1.1.  As it is not supported otherwise, it has been removed
1270  * from jni.h
1271  */
1272 typedef struct JDK1_1InitArgs {
1273     jint version;
1274 
1275     char **properties;
1276     jint checkSource;
1277     jint nativeStackSize;
1278     jint javaStackSize;
1279     jint minHeapSize;
1280     jint maxHeapSize;
1281     jint verifyMode;
1282     char *classpath;
1283 
1284     jint (JNICALL *vfprintf)(FILE *fp, const char *format, va_list args);
1285     void (JNICALL *exit)(jint code);


1176 JNIEXPORT jobject JNICALL
1177 JVM_InitAgentProperties(JNIEnv *env, jobject agent_props);
1178 
1179 JNIEXPORT jstring JNICALL
1180 JVM_GetTemporaryDirectory(JNIEnv *env);
1181 
1182 /* Generics reflection support.
1183  *
1184  * Returns information about the given class's EnclosingMethod
1185  * attribute, if present, or null if the class had no enclosing
1186  * method.
1187  *
1188  * If non-null, the returned array contains three elements. Element 0
1189  * is the java.lang.Class of which the enclosing method is a member,
1190  * and elements 1 and 2 are the java.lang.Strings for the enclosing
1191  * method's name and descriptor, respectively.
1192  */
1193 JNIEXPORT jobjectArray JNICALL
1194 JVM_GetEnclosingMethodInfo(JNIEnv* env, jclass ofClass);
1195 






































































1196 /*
1197  * This structure is used by the launcher to get the default thread
1198  * stack size from the VM using JNI_GetDefaultJavaVMInitArgs() with a
1199  * version of 1.1.  As it is not supported otherwise, it has been removed
1200  * from jni.h
1201  */
1202 typedef struct JDK1_1InitArgs {
1203     jint version;
1204 
1205     char **properties;
1206     jint checkSource;
1207     jint nativeStackSize;
1208     jint javaStackSize;
1209     jint minHeapSize;
1210     jint maxHeapSize;
1211     jint verifyMode;
1212     char *classpath;
1213 
1214     jint (JNICALL *vfprintf)(FILE *fp, const char *format, va_list args);
1215     void (JNICALL *exit)(jint code);
< prev index next >