提交 109ae21a 编写于 作者: I iveresov

7096639: Tiered: Incorrect counter overflow handling for inlined methods

Summary: Enable invocation events for inlinees
Reviewed-by: kvn
上级 d2132bd1
...@@ -2970,8 +2970,8 @@ void LIRGenerator::do_ProfileInvoke(ProfileInvoke* x) { ...@@ -2970,8 +2970,8 @@ void LIRGenerator::do_ProfileInvoke(ProfileInvoke* x) {
// accessors are also always mature. // accessors are also always mature.
if (!x->inlinee()->is_accessor()) { if (!x->inlinee()->is_accessor()) {
CodeEmitInfo* info = state_for(x, x->state(), true); CodeEmitInfo* info = state_for(x, x->state(), true);
// Increment invocation counter, don't notify the runtime, because we don't inline loops, // Notify the runtime very infrequently only to take care of counter overflows
increment_event_counter_impl(info, x->inlinee(), 0, InvocationEntryBci, false, false); increment_event_counter_impl(info, x->inlinee(), (1 << Tier23InlineeNotifyFreqLog) - 1, InvocationEntryBci, false, true);
} }
} }
......
...@@ -3521,6 +3521,9 @@ class CommandLineFlags { ...@@ -3521,6 +3521,9 @@ class CommandLineFlags {
"C1 with MDO profiling (tier 3) invocation notification " \ "C1 with MDO profiling (tier 3) invocation notification " \
"frequency.") \ "frequency.") \
\ \
product(intx, Tier23InlineeNotifyFreqLog, 20, \
"Inlinee invocation (tiers 2 and 3) notification frequency") \
\
product(intx, Tier0BackedgeNotifyFreqLog, 10, \ product(intx, Tier0BackedgeNotifyFreqLog, 10, \
"Interpreter (tier 0) invocation notification frequency.") \ "Interpreter (tier 0) invocation notification frequency.") \
\ \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册