hotspot/src/share/vm/prims/methodHandles.cpp
changeset 14825 8bc43f610c87
parent 14488 ab48109f7d1b
child 16617 6235d2c7549f
equal deleted inserted replaced
14822:ff8e8aa78776 14825:8bc43f610c87
  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