src/share/vm/ci/ciEnv.cpp

Print this page
rev 1083 : code cache unloading for webrev 091214
rev 1085 : checkpoint unloading changes on 100107

*** 936,957 **** } if (nm == NULL) { // The CodeCache is full. Print out warning and disable compilation. record_failure("code cache is full"); ! UseInterpreter = true; ! if (UseCompiler || AlwaysCompileLoopMethods ) { ! #ifndef PRODUCT ! warning("CodeCache is full. Compiler has been disabled"); ! if (CompileTheWorld || ExitOnFullCodeCache) { ! before_exit(JavaThread::current()); ! exit_globals(); // will delete tty ! vm_direct_exit(CompileTheWorld ? 0 : 1); ! } ! #endif ! UseCompiler = false; ! AlwaysCompileLoopMethods = false; } } else { NOT_PRODUCT(nm->set_has_debug_info(has_debug_info); ) nm->set_has_unsafe_access(has_unsafe_access); --- 936,949 ---- } 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 { NOT_PRODUCT(nm->set_has_debug_info(has_debug_info); ) nm->set_has_unsafe_access(has_unsafe_access);