7009641: Don't fail VM when CodeCache is full

Allocation in the code cache returns NULL instead of failing the entire VM

Reviewed-by: kvn, iveresov
This commit is contained in:
Albert Noll 2013-09-24 15:56:25 +02:00
parent c368a33bf7
commit a2889becd9
7 changed files with 54 additions and 9 deletions

View file

@ -1506,8 +1506,11 @@ methodHandle SharedRuntime::handle_ic_miss_helper(JavaThread *thread, TRAPS) {
info, CHECK_(methodHandle()));
inline_cache->set_to_monomorphic(info);
} else if (!inline_cache->is_megamorphic() && !inline_cache->is_clean()) {
// Change to megamorphic
inline_cache->set_to_megamorphic(&call_info, bc, CHECK_(methodHandle()));
// Potential change to megamorphic
bool successful = inline_cache->set_to_megamorphic(&call_info, bc, CHECK_(methodHandle()));
if (!successful) {
inline_cache->set_to_clean();
}
} else {
// Either clean or megamorphic
}