src/share/vm/prims/whitebox.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/prims

src/share/vm/prims/whitebox.cpp

Print this page
rev 6404 : 8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock
Reviewed-by: kvn, iveresov


 476     int arg_count = mdo->method()->size_of_parameters();
 477     for (int i = 0; i < arg_count; i++) {
 478       mdo->set_arg_modified(i, 0);
 479     }
 480     VM_WhiteBoxCleanMethodData op(mdo);
 481     VMThread::execute(&op);
 482   }
 483 
 484   mh->clear_not_c1_compilable();
 485   mh->clear_not_c2_compilable();
 486   mh->clear_not_c2_osr_compilable();
 487   NOT_PRODUCT(mh->set_compiled_invocation_count(0));
 488   if (mcs != NULL) {
 489     mcs->backedge_counter()->init();
 490     mcs->invocation_counter()->init();
 491     mcs->set_interpreter_invocation_count(0);
 492     mcs->set_interpreter_throwout_count(0);
 493 
 494 #ifdef TIERED
 495     mcs->set_rate(0.0F);
 496     mh->set_prev_event_count(0, THREAD);
 497     mh->set_prev_time(0, THREAD);
 498 #endif
 499   }
 500 WB_END
 501 
 502 WB_ENTRY(jboolean, WB_IsInStringTable(JNIEnv* env, jobject o, jstring javaString))
 503   ResourceMark rm(THREAD);
 504   int len;
 505   jchar* name = java_lang_String::as_unicode_string(JNIHandles::resolve(javaString), len, CHECK_false);
 506   return (StringTable::lookup(name, len) != NULL);
 507 WB_END
 508 
 509 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o))
 510   Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true);
 511   Universe::heap()->collect(GCCause::_last_ditch_collection);
 512 WB_END
 513 
 514 
 515 WB_ENTRY(void, WB_ReadReservedMemory(JNIEnv* env, jobject o))
 516   // static+volatile in order to force the read to happen
 517   // (not be eliminated by the compiler)




 476     int arg_count = mdo->method()->size_of_parameters();
 477     for (int i = 0; i < arg_count; i++) {
 478       mdo->set_arg_modified(i, 0);
 479     }
 480     VM_WhiteBoxCleanMethodData op(mdo);
 481     VMThread::execute(&op);
 482   }
 483 
 484   mh->clear_not_c1_compilable();
 485   mh->clear_not_c2_compilable();
 486   mh->clear_not_c2_osr_compilable();
 487   NOT_PRODUCT(mh->set_compiled_invocation_count(0));
 488   if (mcs != NULL) {
 489     mcs->backedge_counter()->init();
 490     mcs->invocation_counter()->init();
 491     mcs->set_interpreter_invocation_count(0);
 492     mcs->set_interpreter_throwout_count(0);
 493 
 494 #ifdef TIERED
 495     mcs->set_rate(0.0F);
 496     mh->set_prev_event_count(0);
 497     mh->set_prev_time(0);
 498 #endif
 499   }
 500 WB_END
 501 
 502 WB_ENTRY(jboolean, WB_IsInStringTable(JNIEnv* env, jobject o, jstring javaString))
 503   ResourceMark rm(THREAD);
 504   int len;
 505   jchar* name = java_lang_String::as_unicode_string(JNIHandles::resolve(javaString), len, CHECK_false);
 506   return (StringTable::lookup(name, len) != NULL);
 507 WB_END
 508 
 509 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o))
 510   Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true);
 511   Universe::heap()->collect(GCCause::_last_ditch_collection);
 512 WB_END
 513 
 514 
 515 WB_ENTRY(void, WB_ReadReservedMemory(JNIEnv* env, jobject o))
 516   // static+volatile in order to force the read to happen
 517   // (not be eliminated by the compiler)


src/share/vm/prims/whitebox.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File