src/share/vm/runtime/frame.cpp

changeset 5543
4b2838704fd5
parent 5419
e619a2766bcc
child 5667
38f750491293
child 6462
e2722a66aba7
     1.1 --- a/src/share/vm/runtime/frame.cpp	Fri Aug 16 13:39:26 2013 -0400
     1.2 +++ b/src/share/vm/runtime/frame.cpp	Fri Aug 16 14:11:40 2013 -0700
     1.3 @@ -23,6 +23,7 @@
     1.4   */
     1.5  
     1.6  #include "precompiled.hpp"
     1.7 +#include "compiler/abstractCompiler.hpp"
     1.8  #include "compiler/disassembler.hpp"
     1.9  #include "gc_interface/collectedHeap.inline.hpp"
    1.10  #include "interpreter/interpreter.hpp"
    1.11 @@ -559,7 +560,7 @@
    1.12  
    1.13    st->print("%s frame (sp=" INTPTR_FORMAT " unextended sp=" INTPTR_FORMAT, print_name(), sp(), unextended_sp());
    1.14    if (sp() != NULL)
    1.15 -    st->print(", fp=" INTPTR_FORMAT ", pc=" INTPTR_FORMAT, fp(), pc());
    1.16 +    st->print(", fp=" INTPTR_FORMAT ", real_fp=" INTPTR_FORMAT ", pc=" INTPTR_FORMAT, fp(), real_fp(), pc());
    1.17  
    1.18    if (StubRoutines::contains(pc())) {
    1.19      st->print_cr(")");
    1.20 @@ -720,11 +721,14 @@
    1.21      } else if (_cb->is_buffer_blob()) {
    1.22        st->print("v  ~BufferBlob::%s", ((BufferBlob *)_cb)->name());
    1.23      } else if (_cb->is_nmethod()) {
    1.24 -      Method* m = ((nmethod *)_cb)->method();
    1.25 +      nmethod* nm = (nmethod*)_cb;
    1.26 +      Method* m = nm->method();
    1.27        if (m != NULL) {
    1.28          m->name_and_sig_as_C_string(buf, buflen);
    1.29 -        st->print("J  %s @ " PTR_FORMAT " [" PTR_FORMAT "+" SIZE_FORMAT "]",
    1.30 -                  buf, _pc, _cb->code_begin(), _pc - _cb->code_begin());
    1.31 +        st->print("J %d%s %s %s (%d bytes) @ " PTR_FORMAT " [" PTR_FORMAT "+0x%x]",
    1.32 +                  nm->compile_id(), (nm->is_osr_method() ? "%" : ""),
    1.33 +                  ((nm->compiler() != NULL) ? nm->compiler()->name() : ""),
    1.34 +                  buf, m->code_size(), _pc, _cb->code_begin(), _pc - _cb->code_begin());
    1.35        } else {
    1.36          st->print("J  " PTR_FORMAT, pc());
    1.37        }

mercurial