changeset 4681:84e7d6690293

added bytecode name to deoptimization details
author Christian Haeubl <christian.haeubl@oracle.com>
date Thu, 23 Feb 2012 16:57:05 -0800
parents acf7d88327fa
children 7cb57ac24ab8 e136f2d0d002
files src/share/vm/runtime/frame.cpp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/frame.cpp	Thu Feb 23 23:06:28 2012 +0100
+++ b/src/share/vm/runtime/frame.cpp	Thu Feb 23 16:57:05 2012 -0800
@@ -604,6 +604,7 @@
 void frame::interpreter_frame_print_on(outputStream* st) const {
 #ifndef PRODUCT
   assert(is_interpreted_frame(), "Not an interpreted frame");
+  assert(interpreter_frame_method() != NULL && interpreter_frame_method()->contains(interpreter_frame_bcp()), "must be");
   jint i;
   st->print_cr(" - sp                                  = " INTPTR_FORMAT, sp());
   // expressions
@@ -630,7 +631,7 @@
   // bcp/bcx
   st->print   (" - bcp           at " INTPTR_FORMAT " = " INTPTR_FORMAT, interpreter_frame_bcx_addr(), interpreter_frame_bcp());
   st->fill_to(70);
-  st->print_cr("; @%d", interpreter_frame_bci());
+  st->print_cr("; @%d - %s", interpreter_frame_bci(), Bytecodes::name(interpreter_frame_method()->code_at(interpreter_frame_bci())));
   // locals
   st->print_cr(" - locals        at " INTPTR_FORMAT " = " INTPTR_FORMAT, interpreter_frame_locals_addr(), *interpreter_frame_locals_addr());
   // constant pool cache