414 } |
414 } |
415 return NULL; |
415 return NULL; |
416 } |
416 } |
417 |
417 |
418 #ifndef PRODUCT |
418 #ifndef PRODUCT |
419 PRAGMA_FORMAT_NONLITERAL_IGNORED_EXTERNAL |
|
420 void NonTieredCompPolicy::trace_frequency_counter_overflow(const methodHandle& m, int branch_bci, int bci) { |
419 void NonTieredCompPolicy::trace_frequency_counter_overflow(const methodHandle& m, int branch_bci, int bci) { |
421 if (TraceInvocationCounterOverflow) { |
420 if (TraceInvocationCounterOverflow) { |
422 MethodCounters* mcs = m->method_counters(); |
421 MethodCounters* mcs = m->method_counters(); |
423 assert(mcs != NULL, "MethodCounters cannot be NULL for profiling"); |
422 assert(mcs != NULL, "MethodCounters cannot be NULL for profiling"); |
424 InvocationCounter* ic = mcs->invocation_counter(); |
423 InvocationCounter* ic = mcs->invocation_counter(); |
425 InvocationCounter* bc = mcs->backedge_counter(); |
424 InvocationCounter* bc = mcs->backedge_counter(); |
426 ResourceMark rm; |
425 ResourceMark rm; |
427 const char* msg = |
426 if (bci == InvocationEntryBci) { |
428 bci == InvocationEntryBci |
427 tty->print("comp-policy cntr ovfl @ %d in entry of ", bci); |
429 ? "comp-policy cntr ovfl @ %d in entry of " |
428 } else { |
430 : "comp-policy cntr ovfl @ %d in loop of "; |
429 tty->print("comp-policy cntr ovfl @ %d in loop of ", bci); |
431 PRAGMA_DIAG_PUSH |
430 } |
432 PRAGMA_FORMAT_NONLITERAL_IGNORED_INTERNAL |
|
433 tty->print(msg, bci); |
|
434 PRAGMA_DIAG_POP |
|
435 m->print_value(); |
431 m->print_value(); |
436 tty->cr(); |
432 tty->cr(); |
437 ic->print(); |
433 ic->print(); |
438 bc->print(); |
434 bc->print(); |
439 if (ProfileInterpreter) { |
435 if (ProfileInterpreter) { |