Mercurial > hg > graal-compiler
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 8215:b89a97928e72
Implement weak reference semantics for HotSpotInstalledCode in the default method installation case. Add new boolean[] array as parameter to the code installation.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 11 Mar 2013 20:55:05 +0100 |
parents | b8f261ba79c6 |
children | 985a97ba083c |
comparison
equal
deleted
inserted
replaced
8205:9efef773f521 | 8215:b89a97928e72 |
---|---|
789 #undef set_object | 789 #undef set_object |
790 #undef set_int_array | 790 #undef set_int_array |
791 | 791 |
792 C2V_END | 792 C2V_END |
793 | 793 |
794 C2V_VMENTRY(jint, installCode0, (JNIEnv *jniEnv, jobject, jobject compResult, jobject installed_code, jobject info)) | 794 C2V_VMENTRY(jint, installCode0, (JNIEnv *jniEnv, jobject, jobject compResult, jobject installed_code, jobject info, jobject triggered_deoptimizations)) |
795 ResourceMark rm; | 795 ResourceMark rm; |
796 HandleMark hm; | 796 HandleMark hm; |
797 Handle compResultHandle = JNIHandles::resolve(compResult); | 797 Handle compResultHandle = JNIHandles::resolve(compResult); |
798 nmethod* nm = NULL; | 798 nmethod* nm = NULL; |
799 methodHandle method = getMethodFromHotSpotMethod(HotSpotCompilationResult::method(compResult)); | 799 methodHandle method = getMethodFromHotSpotMethod(HotSpotCompilationResult::method(compResult)); |
800 Handle installed_code_handle = JNIHandles::resolve(installed_code); | 800 Handle installed_code_handle = JNIHandles::resolve(installed_code); |
801 Handle triggered_deoptimizations_handle = JNIHandles::resolve(triggered_deoptimizations); | |
801 GraalEnv::CodeInstallResult result; | 802 GraalEnv::CodeInstallResult result; |
802 CodeInstaller installer(compResultHandle, method, result, nm, installed_code_handle); | 803 CodeInstaller installer(compResultHandle, method, result, nm, installed_code_handle, triggered_deoptimizations_handle); |
803 | 804 |
804 if (result != GraalEnv::ok) { | 805 if (result != GraalEnv::ok) { |
805 assert(nm == NULL, "should be"); | 806 assert(nm == NULL, "should be"); |
806 } else { | 807 } else { |
807 if (info != NULL) { | 808 if (info != NULL) { |
1094 {CC"getResolvedType", CC"("CLASS")"RESOLVED_TYPE, FN_PTR(getResolvedType)}, | 1095 {CC"getResolvedType", CC"("CLASS")"RESOLVED_TYPE, FN_PTR(getResolvedType)}, |
1095 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, | 1096 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, |
1096 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)}, | 1097 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)}, |
1097 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)}, | 1098 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)}, |
1098 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, | 1099 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, |
1099 {CC"installCode0", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO")I", FN_PTR(installCode0)}, | 1100 {CC"installCode0", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO"[Z)I", FN_PTR(installCode0)}, |
1100 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, | 1101 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, |
1101 {CC"disassembleNMethod", CC"(J)"STRING, FN_PTR(disassembleNMethod)}, | 1102 {CC"disassembleNMethod", CC"(J)"STRING, FN_PTR(disassembleNMethod)}, |
1102 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, | 1103 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, |
1103 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, | 1104 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, |
1104 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, | 1105 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, |