src/hotspot/share/prims/whitebox.cpp
changeset 55005 9b70ebd131b4
parent 54927 1512d88b24c6
child 55161 1a7f82c98eee
child 58678 9cf78a70fa4f
equal deleted inserted replaced
55004:4645b6d57f54 55005:9b70ebd131b4
   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);
       
   826   CodeCache::mark_all_nmethods_for_deoptimization();
   825   CodeCache::mark_all_nmethods_for_deoptimization();
   827   VM_Deoptimize op;
   826   Deoptimization::deoptimize_all_marked();
   828   VMThread::execute(&op);
       
   829 WB_END
   827 WB_END
   830 
   828 
   831 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   829 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   832   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   830   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   833   int result = 0;
   831   int result = 0;
   840     mh->code()->mark_for_deoptimization();
   838     mh->code()->mark_for_deoptimization();
   841     ++result;
   839     ++result;
   842   }
   840   }
   843   result += CodeCache::mark_for_deoptimization(mh());
   841   result += CodeCache::mark_for_deoptimization(mh());
   844   if (result > 0) {
   842   if (result > 0) {
   845     VM_Deoptimize op;
   843     Deoptimization::deoptimize_all_marked();
   846     VMThread::execute(&op);
       
   847   }
   844   }
   848   return result;
   845   return result;
   849 WB_END
   846 WB_END
   850 
   847 
   851 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   848 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr))