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	Thu Nov 14 10:23:59 2013
--- new/src/share/vm/ci/ciEnv.cpp	Thu Nov 14 10:23:59 2013

*** 1001,1025 **** --- 1001,1019 ---- compiler, comp_level); // Free codeBlobs code_buffer->free_blob(); ! if (nm == NULL) { // The CodeCache is full. Print out warning and disable compilation. record_failure("code cache is full"); { MutexUnlocker ml(Compile_lock); MutexUnlocker locker(MethodCompileQueue_lock); CompileBroker::handle_full_code_cache(); } } else { ! if (nm != NULL) { nm->set_has_unsafe_access(has_unsafe_access); nm->set_has_wide_vectors(has_wide_vectors); // Record successful registration. // (Put nm into the task handle *before* publishing to the Java heap.) ! if (task() != NULL) task()->set_code(nm); ! if (task() != NULL) { + task()->set_code(nm); + } if (entry_bci == InvocationEntryBci) { if (TieredCompilation) { // If there is an old version we're done with it nmethod* old = method->code();
*** 1053,1068 **** --- 1047,1066 ---- entry_bci); } method->method_holder()->add_osr_nmethod(nm); } } } // JVMTI -- compiled method notification (must be done outside lock) + } // safepoints are allowed again + if (nm != NULL) { + // JVMTI -- compiled method notification (must be done outside lock) nm->post_compiled_method_load_event(); + } else { + // The CodeCache is full. Print out warning and disable compilation. + record_failure("code cache is full"); + CompileBroker::handle_full_code_cache(); } } // ------------------------------------------------------------------ // ciEnv::find_system_klass

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