--- old/src/share/vm/prims/jvm.h 2015-06-23 14:27:55.000000000 +0200 +++ new/src/share/vm/prims/jvm.h 2015-06-23 14:27:55.000000000 +0200 @@ -571,6 +571,52 @@ JNIEXPORT jboolean JNICALL JVM_SupportsCX8(void); +/* + * jdk.internal.jimage + * WARNING: This API is experimental and temporary during JDK 9 development + * cycle. It will not be supported in the eventual JDK 9 release. + */ + +JNIEXPORT jlong JNICALL +JVM_ImageOpen(JNIEnv *env, const char *nativePath, jboolean big_endian); + +JNIEXPORT void JNICALL +JVM_ImageClose(JNIEnv *env, jlong id); + +JNIEXPORT jlong JNICALL +JVM_ImageGetIndexAddress(JNIEnv *env, jlong id); + +JNIEXPORT jlong JNICALL +JVM_ImageGetDataAddress(JNIEnv *env,jlong id); + +JNIEXPORT jboolean JNICALL +JVM_ImageRead(JNIEnv *env, jlong id, jlong offset, + unsigned char* uncompressedAddress, jlong uncompressed_size); + + +JNIEXPORT jboolean JNICALL +JVM_ImageReadCompressed(JNIEnv *env, jlong id, jlong offset, + unsigned char* compressedBuffer, jlong compressed_size, + unsigned char* uncompressedBuffer, jlong uncompressed_size); + +JNIEXPORT const char* JNICALL +JVM_ImageGetStringBytes(JNIEnv *env, jlong id, jint offset); + +JNIEXPORT jlong* JNICALL +JVM_ImageGetAttributes(JNIEnv *env, jlong* rawAttributes, jlong id, jint offset); + +JNIEXPORT jsize JNICALL +JVM_ImageGetAttributesCount(JNIEnv *env); + +JNIEXPORT jlong* JNICALL +JVM_ImageFindAttributes(JNIEnv *env, jlong* rawAttributes, jbyte* rawBytes, jsize size, jlong id); + +JNIEXPORT jint* JNICALL +JVM_ImageAttributeOffsets(JNIEnv *env, jint* rawOffsets, unsigned int length, jlong id); + +JNIEXPORT unsigned int JNICALL +JVM_ImageAttributeOffsetsLength(JNIEnv *env, jlong id); + /************************************************************************* PART 2: Support for the Verifier and Class File Format Checker ************************************************************************/