equal
deleted
inserted
replaced
818 VMThread::execute(&op); |
818 VMThread::execute(&op); |
819 return op.result(); |
819 return op.result(); |
820 WB_END |
820 WB_END |
821 |
821 |
822 WB_ENTRY(void, WB_DeoptimizeAll(JNIEnv* env, jobject o)) |
822 WB_ENTRY(void, WB_DeoptimizeAll(JNIEnv* env, jobject o)) |
823 MutexLocker mu(Compile_lock); |
|
824 CodeCache::mark_all_nmethods_for_deoptimization(); |
823 CodeCache::mark_all_nmethods_for_deoptimization(); |
825 VM_Deoptimize op; |
824 Deoptimization::deoptimize_all_marked(); |
826 VMThread::execute(&op); |
|
827 WB_END |
825 WB_END |
828 |
826 |
829 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
827 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
830 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
828 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
831 int result = 0; |
829 int result = 0; |
838 mh->code()->mark_for_deoptimization(); |
836 mh->code()->mark_for_deoptimization(); |
839 ++result; |
837 ++result; |
840 } |
838 } |
841 result += CodeCache::mark_for_deoptimization(mh()); |
839 result += CodeCache::mark_for_deoptimization(mh()); |
842 if (result > 0) { |
840 if (result > 0) { |
843 VM_Deoptimize op; |
841 Deoptimization::deoptimize_all_marked(); |
844 VMThread::execute(&op); |
|
845 } |
842 } |
846 return result; |
843 return result; |
847 WB_END |
844 WB_END |
848 |
845 |
849 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
846 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |