--- old/src/share/vm/runtime/sharedRuntime.cpp 2013-10-02 14:57:45.648813345 +0200 +++ new/src/share/vm/runtime/sharedRuntime.cpp 2013-10-02 14:57:45.596813346 +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(btNonMethod); 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(btMethodNoProfile); } return nm; }