src/hotspot/share/prims/methodHandles.cpp
changeset 54623 1126f0607c70
parent 54389 772f62a13376
child 54786 ebf733a324d4
equal deleted inserted replaced
54622:a8dcacf95bff 54623:1126f0607c70
  1096 
  1096 
  1097   int marked = 0;
  1097   int marked = 0;
  1098   CallSiteDepChange changes(call_site, target);
  1098   CallSiteDepChange changes(call_site, target);
  1099   {
  1099   {
  1100     NoSafepointVerifier nsv;
  1100     NoSafepointVerifier nsv;
  1101     MutexLockerEx mu2(CodeCache_lock, Mutex::_no_safepoint_check_flag);
  1101     MutexLocker mu2(CodeCache_lock, Mutex::_no_safepoint_check_flag);
  1102 
  1102 
  1103     oop context = java_lang_invoke_CallSite::context_no_keepalive(call_site());
  1103     oop context = java_lang_invoke_CallSite::context_no_keepalive(call_site());
  1104     DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context);
  1104     DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context);
  1105     marked = deps.mark_dependent_nmethods(changes);
  1105     marked = deps.mark_dependent_nmethods(changes);
  1106   }
  1106   }
  1495     MutexLocker mu1(Compile_lock, thread);
  1495     MutexLocker mu1(Compile_lock, thread);
  1496 
  1496 
  1497     int marked = 0;
  1497     int marked = 0;
  1498     {
  1498     {
  1499       NoSafepointVerifier nsv;
  1499       NoSafepointVerifier nsv;
  1500       MutexLockerEx mu2(CodeCache_lock, Mutex::_no_safepoint_check_flag);
  1500       MutexLocker mu2(CodeCache_lock, Mutex::_no_safepoint_check_flag);
  1501       DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context());
  1501       DependencyContext deps = java_lang_invoke_MethodHandleNatives_CallSiteContext::vmdependencies(context());
  1502       marked = deps.remove_all_dependents();
  1502       marked = deps.remove_all_dependents();
  1503     }
  1503     }
  1504     if (marked > 0) {
  1504     if (marked > 0) {
  1505       // At least one nmethod has been marked for deoptimization
  1505       // At least one nmethod has been marked for deoptimization