hotspot/src/share/vm/runtime/sharedRuntime.cpp
changeset 20283 ddf704c33210
parent 20282 7f9cbdf89af2
parent 20072 6da61000acff
child 21726 3533814ab107
child 22838 82c7497fbad4
--- 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
       }