src/share/vm/compiler/compileBroker.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File JDK-8015774 Cdiff src/share/vm/compiler/compileBroker.cpp

src/share/vm/compiler/compileBroker.cpp

Print this page

        

*** 1590,1602 **** while (true) { { // We need this HandleMark to avoid leaking VM handles. HandleMark hm(thread); ! if (CodeCache::unallocated_capacity() < CodeCacheMinimumFreeSpace) { ! // the code cache is really full ! handle_full_code_cache(); } CompileTask* task = queue->get(); // Give compiler threads an extra quanta. They tend to be bursty and --- 1590,1605 ---- while (true) { { // We need this HandleMark to avoid leaking VM handles. HandleMark hm(thread); ! // Iterate over non-profiled and profiled nmethods ! for (int code_blob_type = CodeBlobType::MethodNonProfiled; code_blob_type <= CodeBlobType::MethodProfiled; ++code_blob_type) { ! if (CodeCache::is_full(code_blob_type)) { ! // The CodeHeap for this compilation level is really full ! handle_full_code_cache(code_blob_type); ! } } CompileTask* task = queue->get(); // Give compiler threads an extra quanta. They tend to be bursty and
*** 1915,1927 **** } // ------------------------------------------------------------------ // CompileBroker::handle_full_code_cache // ! // The CodeCache is full. Print out warning and disable compilation or ! // try code cache cleaning so compilation can continue later. ! void CompileBroker::handle_full_code_cache() { UseInterpreter = true; if (UseCompiler || AlwaysCompileLoopMethods ) { if (xtty != NULL) { ResourceMark rm; stringStream s; --- 1918,1930 ---- } // ------------------------------------------------------------------ // CompileBroker::handle_full_code_cache // ! // The CodeCache is full. Disable compilation or try code cache ! // cleaning so compilation can continue later. ! void CompileBroker::handle_full_code_cache(int code_blob_type) { UseInterpreter = true; if (UseCompiler || AlwaysCompileLoopMethods ) { if (xtty != NULL) { ResourceMark rm; stringStream s;
*** 1933,1947 **** xtty->begin_elem("code_cache_full"); xtty->print(s.as_string()); xtty->stamp(); xtty->end_elem(); } - warning("CodeCache is full. Compiler has been disabled."); - warning("Try increasing the code cache size using -XX:ReservedCodeCacheSize="); - - CodeCache::report_codemem_full(); - #ifndef PRODUCT if (CompileTheWorld || ExitOnFullCodeCache) { codecache_print(/* detailed= */ true); before_exit(JavaThread::current()); --- 1936,1945 ----
*** 1958,1968 **** } else { UseCompiler = false; AlwaysCompileLoopMethods = false; } } ! codecache_print(/* detailed= */ true); } // ------------------------------------------------------------------ // CompileBroker::set_last_compile // --- 1956,1966 ---- } else { UseCompiler = false; AlwaysCompileLoopMethods = false; } } ! CodeCache::report_codemem_full(code_blob_type); } // ------------------------------------------------------------------ // CompileBroker::set_last_compile //
src/share/vm/compiler/compileBroker.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File