--- old/src/share/vm/runtime/sharedRuntime.cpp 2013-10-09 15:17:17.944404442 +0200 +++ new/src/share/vm/runtime/sharedRuntime.cpp 2013-10-09 15:17:17.448404461 +0200 @@ -2461,7 +2461,7 @@ // Ought to log this but compile log is only per compile thread // and we're some non descript Java thread. MutexUnlocker mu(AdapterHandlerLibrary_lock); - CompileBroker::handle_full_code_cache(); + CompileBroker::handle_full_code_cache(CodeBlobType::NonMethod); return NULL; // Out of CodeCache space } entry->relocate(B->content_begin()); @@ -2637,8 +2637,8 @@ method->set_code(method, nm); nm->post_compiled_method_load_event(); } else { - // CodeCache is full, disable compilation - CompileBroker::handle_full_code_cache(); + // CodeCache is full, delay compilation for T1 and T4 methods + CompileBroker::handle_full_code_cache(CodeBlobType::MethodNoProfile); } return nm; }