comparison src/share/vm/prims/methodHandles.cpp @ 7418:5c0931d15474

8003238: JSR 292: intermittent exception failure with java/lang/invoke/CallSiteTest.java Reviewed-by: jrose, kvn
author twisti
date Fri, 14 Dec 2012 12:06:42 -0800
parents 070d523b96a7
children 16885e702c88
comparison
equal deleted inserted replaced
7415:0c535211ef13 7418:5c0931d15474
1166 Handle target (THREAD, JNIHandles::resolve(target_jh)); 1166 Handle target (THREAD, JNIHandles::resolve(target_jh));
1167 { 1167 {
1168 // Walk all nmethods depending on this call site. 1168 // Walk all nmethods depending on this call site.
1169 MutexLocker mu(Compile_lock, thread); 1169 MutexLocker mu(Compile_lock, thread);
1170 Universe::flush_dependents_on(call_site, target); 1170 Universe::flush_dependents_on(call_site, target);
1171 } 1171 java_lang_invoke_CallSite::set_target(call_site(), target());
1172 java_lang_invoke_CallSite::set_target(call_site(), target()); 1172 }
1173 } 1173 }
1174 JVM_END 1174 JVM_END
1175 1175
1176 JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) { 1176 JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) {
1177 Handle call_site(THREAD, JNIHandles::resolve_non_null(call_site_jh)); 1177 Handle call_site(THREAD, JNIHandles::resolve_non_null(call_site_jh));
1178 Handle target (THREAD, JNIHandles::resolve(target_jh)); 1178 Handle target (THREAD, JNIHandles::resolve(target_jh));
1179 { 1179 {
1180 // Walk all nmethods depending on this call site. 1180 // Walk all nmethods depending on this call site.
1181 MutexLocker mu(Compile_lock, thread); 1181 MutexLocker mu(Compile_lock, thread);
1182 Universe::flush_dependents_on(call_site, target); 1182 Universe::flush_dependents_on(call_site, target);
1183 } 1183 java_lang_invoke_CallSite::set_target_volatile(call_site(), target());
1184 java_lang_invoke_CallSite::set_target_volatile(call_site(), target()); 1184 }
1185 } 1185 }
1186 JVM_END 1186 JVM_END
1187 1187
1188 /// JVM_RegisterMethodHandleMethods 1188 /// JVM_RegisterMethodHandleMethods
1189 1189