diff src/share/vm/runtime/sharedRuntime.cpp @ 12317:a5ac0873476c

Merge
author zgu
date Fri, 27 Sep 2013 10:08:56 -0400
parents 190899198332 891687731b59
children cefad50507d8 570aaefce624 2b8e28fdf503
line wrap: on
line diff
--- a/src/share/vm/runtime/sharedRuntime.cpp	Thu Sep 26 10:25:02 2013 -0400
+++ b/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
       }