--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Thu Sep 26 10:25:02 2013 -0400
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Fri Sep 27 10:08:56 2013 -0400
@@ -1506,8 +1506,11 @@
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
}