hotspot/src/share/vm/runtime/frame.cpp
changeset 19334 3aa9ca404965
parent 18938 ff8f8cec9434
child 19952 bc974e92f881
child 22828 17ecb098bc1e
equal deleted inserted replaced
19333:217b3e5dbfde 19334:3aa9ca404965
    21  * questions.
    21  * questions.
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
       
    26 #include "compiler/abstractCompiler.hpp"
    26 #include "compiler/disassembler.hpp"
    27 #include "compiler/disassembler.hpp"
    27 #include "gc_interface/collectedHeap.inline.hpp"
    28 #include "gc_interface/collectedHeap.inline.hpp"
    28 #include "interpreter/interpreter.hpp"
    29 #include "interpreter/interpreter.hpp"
    29 #include "interpreter/oopMapCache.hpp"
    30 #include "interpreter/oopMapCache.hpp"
    30 #include "memory/resourceArea.hpp"
    31 #include "memory/resourceArea.hpp"
   557   NOT_PRODUCT(address begin = pc()-40;)
   558   NOT_PRODUCT(address begin = pc()-40;)
   558   NOT_PRODUCT(address end   = NULL;)
   559   NOT_PRODUCT(address end   = NULL;)
   559 
   560 
   560   st->print("%s frame (sp=" INTPTR_FORMAT " unextended sp=" INTPTR_FORMAT, print_name(), sp(), unextended_sp());
   561   st->print("%s frame (sp=" INTPTR_FORMAT " unextended sp=" INTPTR_FORMAT, print_name(), sp(), unextended_sp());
   561   if (sp() != NULL)
   562   if (sp() != NULL)
   562     st->print(", fp=" INTPTR_FORMAT ", pc=" INTPTR_FORMAT, fp(), pc());
   563     st->print(", fp=" INTPTR_FORMAT ", real_fp=" INTPTR_FORMAT ", pc=" INTPTR_FORMAT, fp(), real_fp(), pc());
   563 
   564 
   564   if (StubRoutines::contains(pc())) {
   565   if (StubRoutines::contains(pc())) {
   565     st->print_cr(")");
   566     st->print_cr(")");
   566     st->print("(");
   567     st->print("(");
   567     StubCodeDesc* desc = StubCodeDesc::desc_for(pc());
   568     StubCodeDesc* desc = StubCodeDesc::desc_for(pc());
   718         st->print("v  ~StubRoutines::" PTR_FORMAT, pc());
   719         st->print("v  ~StubRoutines::" PTR_FORMAT, pc());
   719       }
   720       }
   720     } else if (_cb->is_buffer_blob()) {
   721     } else if (_cb->is_buffer_blob()) {
   721       st->print("v  ~BufferBlob::%s", ((BufferBlob *)_cb)->name());
   722       st->print("v  ~BufferBlob::%s", ((BufferBlob *)_cb)->name());
   722     } else if (_cb->is_nmethod()) {
   723     } else if (_cb->is_nmethod()) {
   723       Method* m = ((nmethod *)_cb)->method();
   724       nmethod* nm = (nmethod*)_cb;
       
   725       Method* m = nm->method();
   724       if (m != NULL) {
   726       if (m != NULL) {
   725         m->name_and_sig_as_C_string(buf, buflen);
   727         m->name_and_sig_as_C_string(buf, buflen);
   726         st->print("J  %s @ " PTR_FORMAT " [" PTR_FORMAT "+" SIZE_FORMAT "]",
   728         st->print("J %d%s %s %s (%d bytes) @ " PTR_FORMAT " [" PTR_FORMAT "+0x%x]",
   727                   buf, _pc, _cb->code_begin(), _pc - _cb->code_begin());
   729                   nm->compile_id(), (nm->is_osr_method() ? "%" : ""),
       
   730                   ((nm->compiler() != NULL) ? nm->compiler()->name() : ""),
       
   731                   buf, m->code_size(), _pc, _cb->code_begin(), _pc - _cb->code_begin());
   728       } else {
   732       } else {
   729         st->print("J  " PTR_FORMAT, pc());
   733         st->print("J  " PTR_FORMAT, pc());
   730       }
   734       }
   731     } else if (_cb->is_runtime_stub()) {
   735     } else if (_cb->is_runtime_stub()) {
   732       st->print("v  ~RuntimeStub::%s", ((RuntimeStub *)_cb)->name());
   736       st->print("v  ~RuntimeStub::%s", ((RuntimeStub *)_cb)->name());