hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 20072 6da61000acff
parent 19710 2f8ca425504e
child 20283 ddf704c33210
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Fri Sep 20 11:17:04 2013 -0700
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Tue Sep 24 15:56:25 2013 +0200
@@ -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
       }