equal
deleted
inserted
replaced
584 |
584 |
585 int count = 0; |
585 int count = 0; |
586 while (count++ < StackPrintLimit) { |
586 while (count++ < StackPrintLimit) { |
587 fr.print_on_error(st, buf, sizeof(buf)); |
587 fr.print_on_error(st, buf, sizeof(buf)); |
588 st->cr(); |
588 st->cr(); |
|
589 // Compiled code may use EBP register on x86 so it looks like |
|
590 // non-walkable C frame. Use frame.sender() for java frames. |
|
591 if (_thread && _thread->is_Java_thread() && fr.is_java_frame()) { |
|
592 RegisterMap map((JavaThread*)_thread, false); // No update |
|
593 fr = fr.sender(&map); |
|
594 continue; |
|
595 } |
589 if (os::is_first_C_frame(&fr)) break; |
596 if (os::is_first_C_frame(&fr)) break; |
590 fr = os::get_sender_for_C_frame(&fr); |
597 fr = os::get_sender_for_C_frame(&fr); |
591 } |
598 } |
592 |
599 |
593 if (count > StackPrintLimit) { |
600 if (count > StackPrintLimit) { |