Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/nativeLookup.cpp @ 21559:be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 28 May 2015 15:36:48 +0200 |
parents | b1530a6cce8c |
children | 47bebae7454f |
comparison
equal
deleted
inserted
replaced
21558:d563baeca9df | 21559:be896a1983c0 |
---|---|
124 extern "C" { | 124 extern "C" { |
125 void JNICALL JVM_RegisterUnsafeMethods(JNIEnv *env, jclass unsafecls); | 125 void JNICALL JVM_RegisterUnsafeMethods(JNIEnv *env, jclass unsafecls); |
126 void JNICALL JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass unsafecls); | 126 void JNICALL JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass unsafecls); |
127 void JNICALL JVM_RegisterPerfMethods(JNIEnv *env, jclass perfclass); | 127 void JNICALL JVM_RegisterPerfMethods(JNIEnv *env, jclass perfclass); |
128 void JNICALL JVM_RegisterWhiteBoxMethods(JNIEnv *env, jclass wbclass); | 128 void JNICALL JVM_RegisterWhiteBoxMethods(JNIEnv *env, jclass wbclass); |
129 #ifdef GRAAL | 129 #ifdef JVMCI |
130 void JNICALL JVM_InitGraalClassLoader(JNIEnv *env, jclass c, jobject loader); | 130 void JNICALL JVM_InitJVMCIClassLoader(JNIEnv *env, jclass c, jobject loader); |
131 void JNICALL JVM_InitializeGraalNatives(JNIEnv *env, jclass compilerToVMClass); | 131 void JNICALL JVM_InitializeJVMCINatives(JNIEnv *env, jclass compilerToVMClass); |
132 jobject JNICALL JVM_GetJVMCIRuntime(JNIEnv *env, jclass c); | 132 jobject JNICALL JVM_GetJVMCIRuntime(JNIEnv *env, jclass c); |
133 jobject JNICALL JVM_GetGraalRuntime(JNIEnv *env, jclass c); | 133 jobject JNICALL JVM_GetJVMCIRuntime(JNIEnv *env, jclass c); |
134 jobject JNICALL JVM_GetGraalServiceImpls(JNIEnv *env, jclass c, jclass serviceClass); | 134 jobject JNICALL JVM_GetJVMCIServiceImpls(JNIEnv *env, jclass c, jclass serviceClass); |
135 jobject JNICALL JVM_CreateTruffleRuntime(JNIEnv *env, jclass c); | 135 jobject JNICALL JVM_CreateTruffleRuntime(JNIEnv *env, jclass c); |
136 jobject JNICALL JVM_CreateNativeFunctionInterface(JNIEnv *env, jclass c); | 136 jobject JNICALL JVM_CreateNativeFunctionInterface(JNIEnv *env, jclass c); |
137 jboolean JNICALL JVM_ParseGraalOptions(JNIEnv *env, jclass hotspotOptionsClass); | 137 jboolean JNICALL JVM_ParseJVMCIOptions(JNIEnv *env, jclass hotspotOptionsClass); |
138 #ifdef COMPILERGRAAL | 138 #ifdef COMPILERJVMCI |
139 void JNICALL JVM_PrintAndResetGraalCompRate(JNIEnv *env, jclass c); | 139 void JNICALL JVM_PrintAndResetJVMCICompRate(JNIEnv *env, jclass c); |
140 #endif | 140 #endif |
141 #endif | 141 #endif |
142 } | 142 } |
143 | 143 |
144 #define CC (char*) /* cast a literal from (const char*) */ | 144 #define CC (char*) /* cast a literal from (const char*) */ |
147 static JNINativeMethod lookup_special_native_methods[] = { | 147 static JNINativeMethod lookup_special_native_methods[] = { |
148 { CC"Java_sun_misc_Unsafe_registerNatives", NULL, FN_PTR(JVM_RegisterUnsafeMethods) }, | 148 { CC"Java_sun_misc_Unsafe_registerNatives", NULL, FN_PTR(JVM_RegisterUnsafeMethods) }, |
149 { CC"Java_java_lang_invoke_MethodHandleNatives_registerNatives", NULL, FN_PTR(JVM_RegisterMethodHandleMethods) }, | 149 { CC"Java_java_lang_invoke_MethodHandleNatives_registerNatives", NULL, FN_PTR(JVM_RegisterMethodHandleMethods) }, |
150 { CC"Java_sun_misc_Perf_registerNatives", NULL, FN_PTR(JVM_RegisterPerfMethods) }, | 150 { CC"Java_sun_misc_Perf_registerNatives", NULL, FN_PTR(JVM_RegisterPerfMethods) }, |
151 { CC"Java_sun_hotspot_WhiteBox_registerNatives", NULL, FN_PTR(JVM_RegisterWhiteBoxMethods) }, | 151 { CC"Java_sun_hotspot_WhiteBox_registerNatives", NULL, FN_PTR(JVM_RegisterWhiteBoxMethods) }, |
152 #ifdef GRAAL | 152 #ifdef JVMCI |
153 { CC"Java_com_oracle_graal_hotspot_loader_Factory_init", NULL, FN_PTR(JVM_InitGraalClassLoader) }, | 153 { CC"Java_com_oracle_jvmci_hotspot_loader_Factory_init", NULL, FN_PTR(JVM_InitJVMCIClassLoader) }, |
154 { CC"Java_com_oracle_jvmci_runtime_JVMCI_initializeRuntime", NULL, FN_PTR(JVM_GetJVMCIRuntime) }, | 154 { CC"Java_com_oracle_jvmci_runtime_JVMCI_initializeRuntime", NULL, FN_PTR(JVM_GetJVMCIRuntime) }, |
155 { CC"Java_com_oracle_jvmci_runtime_Services_getServiceImpls", NULL, FN_PTR(JVM_GetGraalServiceImpls) }, | 155 { CC"Java_com_oracle_jvmci_runtime_Services_getServiceImpls", NULL, FN_PTR(JVM_GetJVMCIServiceImpls) }, |
156 { CC"Java_com_oracle_truffle_api_Truffle_createRuntime", NULL, FN_PTR(JVM_CreateTruffleRuntime) }, | 156 { CC"Java_com_oracle_truffle_api_Truffle_createRuntime", NULL, FN_PTR(JVM_CreateTruffleRuntime) }, |
157 { CC"Java_com_oracle_nfi_NativeFunctionInterfaceRuntime_createInterface", NULL, FN_PTR(JVM_CreateNativeFunctionInterface) }, | 157 { CC"Java_com_oracle_nfi_NativeFunctionInterfaceRuntime_createInterface", NULL, FN_PTR(JVM_CreateNativeFunctionInterface) }, |
158 { CC"Java_com_oracle_jvmci_hotspot_CompilerToVMImpl_init", NULL, FN_PTR(JVM_InitializeGraalNatives) }, | 158 { CC"Java_com_oracle_jvmci_hotspot_CompilerToVMImpl_init", NULL, FN_PTR(JVM_InitializeJVMCINatives) }, |
159 { CC"Java_com_oracle_jvmci_hotspot_HotSpotOptions_parseVMOptions", NULL, FN_PTR(JVM_ParseGraalOptions) }, | 159 { CC"Java_com_oracle_jvmci_hotspot_HotSpotOptions_parseVMOptions", NULL, FN_PTR(JVM_ParseJVMCIOptions) }, |
160 #endif | 160 #endif |
161 }; | 161 }; |
162 | 162 |
163 static address lookup_special_native(char* jni_name) { | 163 static address lookup_special_native(char* jni_name) { |
164 int count = sizeof(lookup_special_native_methods) / sizeof(JNINativeMethod); | 164 int count = sizeof(lookup_special_native_methods) / sizeof(JNINativeMethod); |
185 // the native Java library. This takes care of any bootstrapping problems. | 185 // the native Java library. This takes care of any bootstrapping problems. |
186 // Note: It is critical for bootstrapping that Java_java_lang_ClassLoader_00024NativeLibrary_find | 186 // Note: It is critical for bootstrapping that Java_java_lang_ClassLoader_00024NativeLibrary_find |
187 // gets found the first time around - otherwise an infinite loop can occure. This is | 187 // gets found the first time around - otherwise an infinite loop can occure. This is |
188 // another VM/library dependency | 188 // another VM/library dependency |
189 Handle loader(THREAD, method->method_holder()->class_loader()); | 189 Handle loader(THREAD, method->method_holder()->class_loader()); |
190 if (loader.is_null() GRAAL_ONLY(|| loader() == SystemDictionary::graal_loader())) { | 190 if (loader.is_null() JVMCI_ONLY(|| loader() == SystemDictionary::jvmci_loader())) { |
191 entry = lookup_special_native(jni_name); | 191 entry = lookup_special_native(jni_name); |
192 if (entry == NULL) { | 192 if (entry == NULL) { |
193 entry = (address) os::dll_lookup(os::native_java_library(), jni_name); | 193 entry = (address) os::dll_lookup(os::native_java_library(), jni_name); |
194 } | 194 } |
195 if (entry != NULL) { | 195 if (entry != NULL) { |