comparison src/share/vm/prims/nativeLookup.cpp @ 21614:2f92172fa320

Truffle and NFI implementations are now accessed via JVMCI services instead of being hard coded in the VM (JBS:GRAAL-51)
author Doug Simon <doug.simon@oracle.com>
date Sun, 31 May 2015 13:42:47 +0200
parents 71b338926f2e
children 0e095e2c24e2
comparison
equal deleted inserted replaced
21613:60154926b513 21614:2f92172fa320
130 void JNICALL JVM_InitJVMCIClassLoader(JNIEnv *env, jclass c, jobject loader); 130 void JNICALL JVM_InitJVMCIClassLoader(JNIEnv *env, jclass c, jobject loader);
131 void JNICALL JVM_InitializeJVMCINatives(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_GetJVMCIRuntime(JNIEnv *env, jclass c); 133 jobject JNICALL JVM_GetJVMCIRuntime(JNIEnv *env, jclass c);
134 jobject JNICALL JVM_GetJVMCIServiceImpls(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);
136 jobject JNICALL JVM_CreateNativeFunctionInterface(JNIEnv *env, jclass c);
137 #ifdef COMPILERJVMCI
138 void JNICALL JVM_PrintAndResetJVMCICompRate(JNIEnv *env, jclass c);
139 #endif
140 #endif 135 #endif
141 } 136 }
142 137
143 #define CC (char*) /* cast a literal from (const char*) */ 138 #define CC (char*) /* cast a literal from (const char*) */
144 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) 139 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f)
150 { CC"Java_sun_hotspot_WhiteBox_registerNatives", NULL, FN_PTR(JVM_RegisterWhiteBoxMethods) }, 145 { CC"Java_sun_hotspot_WhiteBox_registerNatives", NULL, FN_PTR(JVM_RegisterWhiteBoxMethods) },
151 #ifdef JVMCI 146 #ifdef JVMCI
152 { CC"Java_com_oracle_jvmci_service_JVMCIClassLoaderFactory_init", NULL, FN_PTR(JVM_InitJVMCIClassLoader) }, 147 { CC"Java_com_oracle_jvmci_service_JVMCIClassLoaderFactory_init", NULL, FN_PTR(JVM_InitJVMCIClassLoader) },
153 { CC"Java_com_oracle_jvmci_runtime_JVMCI_initializeRuntime", NULL, FN_PTR(JVM_GetJVMCIRuntime) }, 148 { CC"Java_com_oracle_jvmci_runtime_JVMCI_initializeRuntime", NULL, FN_PTR(JVM_GetJVMCIRuntime) },
154 { CC"Java_com_oracle_jvmci_service_Services_getServiceImpls", NULL, FN_PTR(JVM_GetJVMCIServiceImpls) }, 149 { CC"Java_com_oracle_jvmci_service_Services_getServiceImpls", NULL, FN_PTR(JVM_GetJVMCIServiceImpls) },
155 { CC"Java_com_oracle_truffle_api_Truffle_createRuntime", NULL, FN_PTR(JVM_CreateTruffleRuntime) },
156 { CC"Java_com_oracle_nfi_NativeFunctionInterfaceRuntime_createInterface", NULL, FN_PTR(JVM_CreateNativeFunctionInterface) },
157 { CC"Java_com_oracle_jvmci_hotspot_CompilerToVMImpl_init", NULL, FN_PTR(JVM_InitializeJVMCINatives) }, 150 { CC"Java_com_oracle_jvmci_hotspot_CompilerToVMImpl_init", NULL, FN_PTR(JVM_InitializeJVMCINatives) },
158 #endif 151 #endif
159 }; 152 };
160 153
161 static address lookup_special_native(char* jni_name) { 154 static address lookup_special_native(char* jni_name) {