src/share/vm/ci/ciEnv.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/ci/ciEnv.cpp	Wed Nov  6 18:35:33 2013
--- new/src/share/vm/ci/ciEnv.cpp	Wed Nov  6 18:35:33 2013

*** 933,943 **** --- 933,945 ---- // To prevent compile queue updates. MutexLocker locker(MethodCompileQueue_lock, THREAD); // Prevent SystemDictionary::add_to_hierarchy from running // and invalidating our dependencies until we install this method. + // No safepoints are allowed. Otherwise, class redefinition can occur in between. MutexLocker ml(Compile_lock); + No_Safepoint_Verifier nsv; // Change in Jvmti state may invalidate compilation. if (!failing() && ( (!jvmti_can_hotswap_or_post_breakpoint() && JvmtiExport::can_hotswap_or_post_breakpoint()) ||
*** 999,1018 **** --- 1001,1010 ---- compiler, comp_level); // Free codeBlobs code_buffer->free_blob(); // stress test 6243940 by immediately making the method // non-entrant behind the system's back. This has serious // side effects on the code cache and is not meant for // general stress testing if (nm != NULL && StressNonEntrant) { MutexLockerEx pl(Patching_lock, Mutex::_no_safepoint_check_flag); NativeJump::patch_verified_entry(nm->entry_point(), nm->verified_entry_point(), SharedRuntime::get_handle_wrong_method_stub()); } if (nm == NULL) { // The CodeCache is full. Print out warning and disable compilation. record_failure("code cache is full"); { MutexUnlocker ml(Compile_lock);

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