2968 void LIRGenerator::do_ProfileInvoke(ProfileInvoke* x) { |
2968 void LIRGenerator::do_ProfileInvoke(ProfileInvoke* x) { |
2969 // We can safely ignore accessors here, since c2 will inline them anyway, |
2969 // We can safely ignore accessors here, since c2 will inline them anyway, |
2970 // accessors are also always mature. |
2970 // accessors are also always mature. |
2971 if (!x->inlinee()->is_accessor()) { |
2971 if (!x->inlinee()->is_accessor()) { |
2972 CodeEmitInfo* info = state_for(x, x->state(), true); |
2972 CodeEmitInfo* info = state_for(x, x->state(), true); |
2973 // Increment invocation counter, don't notify the runtime, because we don't inline loops, |
2973 // Notify the runtime very infrequently only to take care of counter overflows |
2974 increment_event_counter_impl(info, x->inlinee(), 0, InvocationEntryBci, false, false); |
2974 increment_event_counter_impl(info, x->inlinee(), (1 << Tier23InlineeNotifyFreqLog) - 1, InvocationEntryBci, false, true); |
2975 } |
2975 } |
2976 } |
2976 } |
2977 |
2977 |
2978 void LIRGenerator::increment_event_counter(CodeEmitInfo* info, int bci, bool backedge) { |
2978 void LIRGenerator::increment_event_counter(CodeEmitInfo* info, int bci, bool backedge) { |
2979 int freq_log; |
2979 int freq_log; |