comparison src/share/vm/prims/nativeLookup.cpp @ 5523:861f8d5a5153

Added code to resolve GraalRuntime into HotSpot. Added graal.api.test project.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 08 Jun 2012 16:57:07 +0200
parents 0382d2b469b2
children 957c266d8bc5
comparison
equal deleted inserted replaced
5522:1319b704541d 5523:861f8d5a5153
119 119
120 extern "C" { 120 extern "C" {
121 void JNICALL JVM_RegisterUnsafeMethods(JNIEnv *env, jclass unsafecls); 121 void JNICALL JVM_RegisterUnsafeMethods(JNIEnv *env, jclass unsafecls);
122 void JNICALL JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass unsafecls); 122 void JNICALL JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass unsafecls);
123 void JNICALL JVM_RegisterPerfMethods(JNIEnv *env, jclass perfclass); 123 void JNICALL JVM_RegisterPerfMethods(JNIEnv *env, jclass perfclass);
124 #ifdef GRAAL
125 jobject JNICALL JVM_InitializeGraalRuntime(JNIEnv *env, jclass graalclass);
126 #endif
124 } 127 }
125 128
126 #define CC (char*) /* cast a literal from (const char*) */ 129 #define CC (char*) /* cast a literal from (const char*) */
127 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) 130 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f)
128 131
132 { CC"Java_java_io_ObjectInputStream_setPrimitiveFieldValues", NULL, FN_PTR(JVM_SetPrimitiveFieldValues) }, // intercept ObjectInputStream setPrimitiveFieldValues for faster serialization 135 { CC"Java_java_io_ObjectInputStream_setPrimitiveFieldValues", NULL, FN_PTR(JVM_SetPrimitiveFieldValues) }, // intercept ObjectInputStream setPrimitiveFieldValues for faster serialization
133 136
134 { CC"Java_sun_misc_Unsafe_registerNatives", NULL, FN_PTR(JVM_RegisterUnsafeMethods) }, 137 { CC"Java_sun_misc_Unsafe_registerNatives", NULL, FN_PTR(JVM_RegisterUnsafeMethods) },
135 { CC"Java_java_lang_invoke_MethodHandleNatives_registerNatives", NULL, FN_PTR(JVM_RegisterMethodHandleMethods) }, 138 { CC"Java_java_lang_invoke_MethodHandleNatives_registerNatives", NULL, FN_PTR(JVM_RegisterMethodHandleMethods) },
136 { CC"Java_sun_misc_Perf_registerNatives", NULL, FN_PTR(JVM_RegisterPerfMethods) } 139 { CC"Java_sun_misc_Perf_registerNatives", NULL, FN_PTR(JVM_RegisterPerfMethods) }
140 #ifdef GRAAL
141 ,
142 { CC"Java_com_oracle_graal_api_Graal_initializeRuntime", NULL, FN_PTR(JVM_InitializeGraalRuntime) }
143 #endif
137 }; 144 };
138 145
139 static address lookup_special_native(char* jni_name) { 146 static address lookup_special_native(char* jni_name) {
140 int i = !JDK_Version::is_gte_jdk14x_version() ? 0 : 2; // see comment in lookup_special_native_methods 147 int i = !JDK_Version::is_gte_jdk14x_version() ? 0 : 2; // see comment in lookup_special_native_methods
141 int count = sizeof(lookup_special_native_methods) / sizeof(JNINativeMethod); 148 int count = sizeof(lookup_special_native_methods) / sizeof(JNINativeMethod);