Пример #1
0
void NonTieredCompPolicy::trace_frequency_counter_overflow(methodHandle m, int branch_bci, int bci) {
    if (TraceInvocationCounterOverflow) {
        InvocationCounter* ic = m->invocation_counter();
        InvocationCounter* bc = m->backedge_counter();
        ResourceMark rm;
        const char* msg =
            bci == InvocationEntryBci
            ? "comp-policy cntr ovfl @ %d in entry of "
            : "comp-policy cntr ovfl @ %d in loop of ";
        tty->print(msg, bci);
        m->print_value();
        tty->cr();
        ic->print();
        bc->print();
        if (ProfileInterpreter) {
            if (bci != InvocationEntryBci) {
                methodDataOop mdo = m->method_data();
                if (mdo != NULL) {
                    int count = mdo->bci_to_data(branch_bci)->as_JumpData()->taken();
                    tty->print_cr("back branch count = %d", count);
                }
            }
        }
    }
}
void NonTieredCompPolicy::trace_frequency_counter_overflow(const methodHandle& m, int branch_bci, int bci) {
  if (TraceInvocationCounterOverflow) {
    MethodCounters* mcs = m->method_counters();
    assert(mcs != NULL, "MethodCounters cannot be NULL for profiling");
    InvocationCounter* ic = mcs->invocation_counter();
    InvocationCounter* bc = mcs->backedge_counter();
    ResourceMark rm;
    if (bci == InvocationEntryBci) {
      tty->print("comp-policy cntr ovfl @ %d in entry of ", bci);
    } else {
      tty->print("comp-policy cntr ovfl @ %d in loop of ", bci);
    }
    m->print_value();
    tty->cr();
    ic->print();
    bc->print();
    if (ProfileInterpreter) {
      if (bci != InvocationEntryBci) {
        MethodData* mdo = m->method_data();
        if (mdo != NULL) {
          int count = mdo->bci_to_data(branch_bci)->as_JumpData()->taken();
          tty->print_cr("back branch count = %d", count);
        }
      }
    }
  }
}