src/share/vm/utilities/vmError.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8021898 Cdiff src/share/vm/utilities/vmError.cpp

src/share/vm/utilities/vmError.cpp

Print this page

        

*** 584,593 **** --- 584,600 ---- int count = 0; while (count++ < StackPrintLimit) { fr.print_on_error(st, buf, sizeof(buf)); st->cr(); + // Compiled code may use EBP register on x86 so it looks like + // non-walkable C frame. Use frame.sender() for java frames. + if (_thread && _thread->is_Java_thread() && fr.is_java_frame()) { + RegisterMap map((JavaThread*)_thread, false); // No update + fr = fr.sender(&map); + continue; + } if (os::is_first_C_frame(&fr)) break; fr = os::get_sender_for_C_frame(&fr); } if (count > StackPrintLimit) {
src/share/vm/utilities/vmError.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File