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)},