comparison src/share/vm/graal/graalCompilerToVM.cpp @ 5776:2a64cf19ab2a

rename: HotSpotTargetMethod -> HotSpotCompilationResult
author Doug Simon <doug.simon@oracle.com>
date Thu, 05 Jul 2012 22:07:32 +0200
parents a3d71693e0ce
children 22b0cb49cc60
comparison
equal deleted inserted replaced
5775:2c088af17e59 5776:2a64cf19ab2a
877 877
878 set_int(env, config, "arrayClassElementOffset", in_bytes(objArrayKlass::element_klass_offset())); 878 set_int(env, config, "arrayClassElementOffset", in_bytes(objArrayKlass::element_klass_offset()));
879 return config; 879 return config;
880 } 880 }
881 881
882 // public HotSpotCompiledMethod installMethod(HotSpotTargetMethod targetMethod, boolean installCode); 882 // public HotSpotCompiledMethod installMethod(HotSpotCompilationResult comp, boolean installCode);
883 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_bridge_CompilerToVMImpl_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod, jboolean install_code, jobject info) { 883 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_bridge_CompilerToVMImpl_installMethod(JNIEnv *jniEnv, jobject, jobject comp, jboolean install_code, jobject info) {
884 VM_ENTRY_MARK; 884 VM_ENTRY_MARK;
885 ResourceMark rm; 885 ResourceMark rm;
886 HandleMark hm; 886 HandleMark hm;
887 Handle targetMethodHandle = JNIHandles::resolve(targetMethod); 887 Handle targetMethodHandle = JNIHandles::resolve(comp);
888 nmethod* nm = NULL; 888 nmethod* nm = NULL;
889 Arena arena; 889 Arena arena;
890 ciEnv env(&arena); 890 ciEnv env(&arena);
891 CodeInstaller installer(targetMethodHandle, nm, install_code != 0); 891 CodeInstaller installer(targetMethodHandle, nm, install_code != 0);
892 892
901 if (!install_code && nm != NULL) { 901 if (!install_code && nm != NULL) {
902 instanceKlass::cast(HotSpotCompiledMethod::klass())->initialize(CHECK_NULL); 902 instanceKlass::cast(HotSpotCompiledMethod::klass())->initialize(CHECK_NULL);
903 Handle obj = instanceKlass::cast(HotSpotCompiledMethod::klass())->allocate_permanent_instance(CHECK_NULL); 903 Handle obj = instanceKlass::cast(HotSpotCompiledMethod::klass())->allocate_permanent_instance(CHECK_NULL);
904 assert(obj() != NULL, "must succeed in allocating instance"); 904 assert(obj() != NULL, "must succeed in allocating instance");
905 HotSpotCompiledMethod::set_nmethod(obj, (jlong) nm); 905 HotSpotCompiledMethod::set_nmethod(obj, (jlong) nm);
906 HotSpotCompiledMethod::set_method(obj, HotSpotTargetMethod::method(targetMethod)); 906 HotSpotCompiledMethod::set_method(obj, HotSpotCompilationResult::method(comp));
907 nm->set_graal_compiled_method(obj()); 907 nm->set_graal_compiled_method(obj());
908 return JNIHandles::make_local(obj()); 908 return JNIHandles::make_local(obj());
909 } else { 909 } else {
910 return NULL; 910 return NULL;
911 } 911 }
1068 #define SIGNATURE "Lcom/oracle/graal/api/meta/Signature;" 1068 #define SIGNATURE "Lcom/oracle/graal/api/meta/Signature;"
1069 #define FIELD "Lcom/oracle/graal/api/meta/JavaField;" 1069 #define FIELD "Lcom/oracle/graal/api/meta/JavaField;"
1070 #define RESOLVED_FIELD "Lcom/oracle/graal/api/meta/ResolvedJavaField;" 1070 #define RESOLVED_FIELD "Lcom/oracle/graal/api/meta/ResolvedJavaField;"
1071 #define CONSTANT_POOL "Lcom/oracle/graal/api/meta/ConstantPool;" 1071 #define CONSTANT_POOL "Lcom/oracle/graal/api/meta/ConstantPool;"
1072 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;" 1072 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;"
1073 #define TARGET_METHOD "Lcom/oracle/graal/hotspot/HotSpotTargetMethod;" 1073 #define HS_COMP_RESULT "Lcom/oracle/graal/hotspot/HotSpotCompilationResult;"
1074 #define CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" 1074 #define CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;"
1075 #define HS_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotMethod;" 1075 #define HS_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotMethod;"
1076 #define HS_COMP_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotCompiledMethod;" 1076 #define HS_COMP_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotCompiledMethod;"
1077 #define HS_CODE_INFO "Lcom/oracle/graal/hotspot/meta/HotSpotCodeInfo;" 1077 #define HS_CODE_INFO "Lcom/oracle/graal/hotspot/meta/HotSpotCodeInfo;"
1078 #define METHOD_DATA "Lcom/oracle/graal/hotspot/meta/HotSpotMethodData;" 1078 #define METHOD_DATA "Lcom/oracle/graal/hotspot/meta/HotSpotMethodData;"
1079 #define CI_CONSTANT "Lcom/oracle/graal/api/meta/Constant;" 1079 #define CONSTANT "Lcom/oracle/graal/api/meta/Constant;"
1080 #define CI_KIND "Lcom/oracle/graal/api/meta/Kind;" 1080 #define KIND "Lcom/oracle/graal/api/meta/Kind;"
1081 #define CI_RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;" 1081 #define RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;"
1082 #define STRING "Ljava/lang/String;" 1082 #define STRING "Ljava/lang/String;"
1083 #define OBJECT "Ljava/lang/Object;" 1083 #define OBJECT "Ljava/lang/Object;"
1084 #define CLASS "Ljava/lang/Class;" 1084 #define CLASS "Ljava/lang/Class;"
1085 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" 1085 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;"
1086 1086
1093 {CC"getJavaMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(getJavaMethod)}, 1093 {CC"getJavaMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(getJavaMethod)},
1094 {CC"JavaMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(JavaMethod_1methodData)}, 1094 {CC"JavaMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(JavaMethod_1methodData)},
1095 {CC"JavaMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_1invocationCount)}, 1095 {CC"JavaMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_1invocationCount)},
1096 {CC"JavaMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(JavaMethod_1hasCompiledCode)}, 1096 {CC"JavaMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(JavaMethod_1hasCompiledCode)},
1097 {CC"JavaMethod_getCompiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_1getCompiledCodeSize)}, 1097 {CC"JavaMethod_getCompiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_1getCompiledCodeSize)},
1098 {CC"Signature_lookupType", CC"("STRING RESOLVED_TYPE"Z)"TYPE, FN_PTR(Signature_1lookupType)}, 1098 {CC"Signature_lookupType", CC"("STRING RESOLVED_TYPE"Z)"TYPE, FN_PTR(Signature_1lookupType)},
1099 {CC"ConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(ConstantPool_1lookupConstant)}, 1099 {CC"ConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(ConstantPool_1lookupConstant)},
1100 {CC"ConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(ConstantPool_1lookupMethod)}, 1100 {CC"ConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(ConstantPool_1lookupMethod)},
1101 {CC"ConstantPool_lookupType", CC"("RESOLVED_TYPE"I)"TYPE, FN_PTR(ConstantPool_1lookupType)}, 1101 {CC"ConstantPool_lookupType", CC"("RESOLVED_TYPE"I)"TYPE, FN_PTR(ConstantPool_1lookupType)},
1102 {CC"ConstantPool_loadReferencedType", CC"("RESOLVED_TYPE"IB)V", FN_PTR(ConstantPool_1loadReferencedType)}, 1102 {CC"ConstantPool_loadReferencedType", CC"("RESOLVED_TYPE"IB)V", FN_PTR(ConstantPool_1loadReferencedType)},
1103 {CC"ConstantPool_lookupField", CC"("RESOLVED_TYPE"IB)"FIELD, FN_PTR(ConstantPool_1lookupField)}, 1103 {CC"ConstantPool_lookupField", CC"("RESOLVED_TYPE"IB)"FIELD, FN_PTR(ConstantPool_1lookupField)},
1104 {CC"JavaType_resolveMethodImpl", CC"("RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(JavaType_3resolveMethodImpl)}, 1104 {CC"JavaType_resolveMethodImpl", CC"("RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(JavaType_3resolveMethodImpl)},
1105 {CC"JavaType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(JavaType_2isSubtypeOf)}, 1105 {CC"JavaType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(JavaType_2isSubtypeOf)},
1106 {CC"JavaType_leastCommonAncestor", CC"("RESOLVED_TYPE RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_2leastCommonAncestor)}, 1106 {CC"JavaType_leastCommonAncestor", CC"("RESOLVED_TYPE RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_2leastCommonAncestor)},
1107 {CC"JavaType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1componentType)}, 1107 {CC"JavaType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1componentType)},
1108 {CC"JavaType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1uniqueConcreteSubtype)}, 1108 {CC"JavaType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1uniqueConcreteSubtype)},
1109 {CC"JavaType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1superType)}, 1109 {CC"JavaType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1superType)},
1110 {CC"JavaType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1arrayOf)}, 1110 {CC"JavaType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(JavaType_1arrayOf)},
1111 {CC"JavaType_fields", CC"("RESOLVED_TYPE")["RESOLVED_FIELD, FN_PTR(JavaType_1fields)}, 1111 {CC"JavaType_fields", CC"("RESOLVED_TYPE")["RESOLVED_FIELD, FN_PTR(JavaType_1fields)},
1112 {CC"JavaType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(JavaType_1isInitialized)}, 1112 {CC"JavaType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(JavaType_1isInitialized)},
1113 {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(getPrimitiveArrayType)}, 1113 {CC"getPrimitiveArrayType", CC"("KIND")"TYPE, FN_PTR(getPrimitiveArrayType)},
1114 {CC"getMaxCallTargetOffset", CC"("CI_RUNTIME_CALL")J", FN_PTR(getMaxCallTargetOffset)}, 1114 {CC"getMaxCallTargetOffset", CC"("RUNTIME_CALL")J", FN_PTR(getMaxCallTargetOffset)},
1115 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(getType)}, 1115 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(getType)},
1116 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(getConfiguration)}, 1116 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(getConfiguration)},
1117 {CC"installMethod", CC"("TARGET_METHOD"Z"HS_CODE_INFO")"HS_COMP_METHOD, FN_PTR(installMethod)}, 1117 {CC"installMethod", CC"("HS_COMP_RESULT"Z"HS_CODE_INFO")"HS_COMP_METHOD, FN_PTR(installMethod)},
1118 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, 1118 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)},
1119 {CC"JavaMethod_toStackTraceElement", CC"("RESOLVED_METHOD"I)"STACK_TRACE_ELEMENT, FN_PTR(JavaMethod_1toStackTraceElement)}, 1119 {CC"JavaMethod_toStackTraceElement", CC"("RESOLVED_METHOD"I)"STACK_TRACE_ELEMENT, FN_PTR(JavaMethod_1toStackTraceElement)},
1120 {CC"executeCompiledMethod", CC"("HS_COMP_METHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, 1120 {CC"executeCompiledMethod", CC"("HS_COMP_METHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)},
1121 {CC"executeCompiledMethodVarargs", CC"("HS_COMP_METHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, 1121 {CC"executeCompiledMethodVarargs", CC"("HS_COMP_METHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)},
1122 {CC"JavaMethod_vtableEntryOffset", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_vtableEntryOffset)}, 1122 {CC"JavaMethod_vtableEntryOffset", CC"("RESOLVED_METHOD")I", FN_PTR(JavaMethod_vtableEntryOffset)},
1123 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, 1123 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)},
1124 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)}, 1124 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)},
1125 }; 1125 };
1126 1126
1127 int CompilerToVM_methods_count() { 1127 int CompilerToVM_methods_count() {
1128 return sizeof(CompilerToVM_methods) / sizeof(JNINativeMethod); 1128 return sizeof(CompilerToVM_methods) / sizeof(JNINativeMethod);
1129 } 1129 }