diff src/share/vm/c1/c1_LIRGenerator.cpp @ 3964:dc45ae774613

7096639: Tiered: Incorrect counter overflow handling for inlined methods Summary: Enable invocation events for inlinees Reviewed-by: kvn
author iveresov
date Thu, 29 Sep 2011 23:09:54 -0700
parents c8f2186acf6d
children 940513efe83a
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LIRGenerator.cpp	Thu Sep 29 13:47:57 2011 -0700
+++ b/src/share/vm/c1/c1_LIRGenerator.cpp	Thu Sep 29 23:09:54 2011 -0700
@@ -2970,8 +2970,8 @@
   // accessors are also always mature.
   if (!x->inlinee()->is_accessor()) {
     CodeEmitInfo* info = state_for(x, x->state(), true);
-    // Increment invocation counter, don't notify the runtime, because we don't inline loops,
-    increment_event_counter_impl(info, x->inlinee(), 0, InvocationEntryBci, false, false);
+    // Notify the runtime very infrequently only to take care of counter overflows
+    increment_event_counter_impl(info, x->inlinee(), (1 << Tier23InlineeNotifyFreqLog) - 1, InvocationEntryBci, false, true);
   }
 }