Mercurial > hg > truffle
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); |