Mercurial > hg > truffle
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 } |