equal
deleted
inserted
replaced
384 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
384 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
385 int result = 0; |
385 int result = 0; |
386 CHECK_JNI_EXCEPTION_(env, result); |
386 CHECK_JNI_EXCEPTION_(env, result); |
387 MutexLockerEx mu(Compile_lock); |
387 MutexLockerEx mu(Compile_lock); |
388 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
388 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
389 nmethod* code; |
|
390 if (is_osr) { |
389 if (is_osr) { |
391 int bci = InvocationEntryBci; |
390 result += mh->mark_osr_nmethods(); |
392 while ((code = mh->lookup_osr_nmethod_for(bci, CompLevel_none, false)) != NULL) { |
391 } else if (mh->code() != NULL) { |
393 code->mark_for_deoptimization(); |
392 mh->code()->mark_for_deoptimization(); |
394 ++result; |
|
395 bci = code->osr_entry_bci() + 1; |
|
396 } |
|
397 } else { |
|
398 code = mh->code(); |
|
399 } |
|
400 if (code != NULL) { |
|
401 code->mark_for_deoptimization(); |
|
402 ++result; |
393 ++result; |
403 } |
394 } |
404 result += CodeCache::mark_for_deoptimization(mh()); |
395 result += CodeCache::mark_for_deoptimization(mh()); |
405 if (result > 0) { |
396 if (result > 0) { |
406 VM_Deoptimize op; |
397 VM_Deoptimize op; |