Mercurial > hg > truffle
comparison src/share/vm/ci/ciEnv.cpp @ 1216:7f8790caccb0
Merge
author | apangin |
---|---|
date | Thu, 04 Feb 2010 15:50:59 -0800 |
parents | 6deeaebad47a 5f24d0319e54 |
children | 09ac706c2623 |
comparison
equal
deleted
inserted
replaced
1215:f19bf22685cc | 1216:7f8790caccb0 |
---|---|
960 } | 960 } |
961 | 961 |
962 if (nm == NULL) { | 962 if (nm == NULL) { |
963 // The CodeCache is full. Print out warning and disable compilation. | 963 // The CodeCache is full. Print out warning and disable compilation. |
964 record_failure("code cache is full"); | 964 record_failure("code cache is full"); |
965 UseInterpreter = true; | 965 { |
966 if (UseCompiler || AlwaysCompileLoopMethods ) { | 966 MutexUnlocker ml(Compile_lock); |
967 #ifndef PRODUCT | 967 MutexUnlocker locker(MethodCompileQueue_lock); |
968 warning("CodeCache is full. Compiler has been disabled"); | 968 CompileBroker::handle_full_code_cache(); |
969 if (CompileTheWorld || ExitOnFullCodeCache) { | |
970 before_exit(JavaThread::current()); | |
971 exit_globals(); // will delete tty | |
972 vm_direct_exit(CompileTheWorld ? 0 : 1); | |
973 } | |
974 #endif | |
975 UseCompiler = false; | |
976 AlwaysCompileLoopMethods = false; | |
977 } | 969 } |
978 } else { | 970 } else { |
979 NOT_PRODUCT(nm->set_has_debug_info(has_debug_info); ) | 971 NOT_PRODUCT(nm->set_has_debug_info(has_debug_info); ) |
980 nm->set_has_unsafe_access(has_unsafe_access); | 972 nm->set_has_unsafe_access(has_unsafe_access); |
981 | 973 |