src/hotspot/share/prims/whitebox.cpp
changeset 55479 80b27dc96ca3
parent 55206 2fe2063fe567
child 55545 8a153a932d0f
equal deleted inserted replaced
55478:ae2e53e379cb 55479:80b27dc96ca3
   820   VMThread::execute(&op);
   820   VMThread::execute(&op);
   821   return op.result();
   821   return op.result();
   822 WB_END
   822 WB_END
   823 
   823 
   824 WB_ENTRY(void, WB_DeoptimizeAll(JNIEnv* env, jobject o))
   824 WB_ENTRY(void, WB_DeoptimizeAll(JNIEnv* env, jobject o))
       
   825   MutexLocker mu(Compile_lock);
   825   CodeCache::mark_all_nmethods_for_deoptimization();
   826   CodeCache::mark_all_nmethods_for_deoptimization();
   826   Deoptimization::deoptimize_all_marked();
   827   VM_Deoptimize op;
       
   828   VMThread::execute(&op);
   827 WB_END
   829 WB_END
   828 
   830 
   829 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   831 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   830   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   832   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   831   int result = 0;
   833   int result = 0;
   838     mh->code()->mark_for_deoptimization();
   840     mh->code()->mark_for_deoptimization();
   839     ++result;
   841     ++result;
   840   }
   842   }
   841   result += CodeCache::mark_for_deoptimization(mh());
   843   result += CodeCache::mark_for_deoptimization(mh());
   842   if (result > 0) {
   844   if (result > 0) {
   843     Deoptimization::deoptimize_all_marked();
   845     VM_Deoptimize op;
       
   846     VMThread::execute(&op);
   844   }
   847   }
   845   return result;
   848   return result;
   846 WB_END
   849 WB_END
   847 
   850 
   848 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   851 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr))