# HG changeset patch # User Christian Haeubl # Date 1330045025 28800 # Node ID 84e7d66902935e636ac7239358c403fdc28e8434 # Parent acf7d88327fab8da215d1099539197642110e8f7 added bytecode name to deoptimization details diff -r acf7d88327fa -r 84e7d6690293 src/share/vm/runtime/frame.cpp --- 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