Mercurial > hg > truffle
changeset 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 | 098acdf97f09 |
children | ae839d1e7d4c |
files | src/share/vm/c1/c1_LIRGenerator.cpp src/share/vm/runtime/globals.hpp |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
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); } }
--- a/src/share/vm/runtime/globals.hpp Thu Sep 29 13:47:57 2011 -0700 +++ b/src/share/vm/runtime/globals.hpp Thu Sep 29 23:09:54 2011 -0700 @@ -3521,6 +3521,9 @@ "C1 with MDO profiling (tier 3) invocation notification " \ "frequency.") \ \ + product(intx, Tier23InlineeNotifyFreqLog, 20, \ + "Inlinee invocation (tiers 2 and 3) notification frequency") \ + \ product(intx, Tier0BackedgeNotifyFreqLog, 10, \ "Interpreter (tier 0) invocation notification frequency.") \ \