src/share/vm/interpreter/bytecodeInterpreter.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/interpreter/bytecodeInterpreter.cpp	Tue Jan  5 12:33:32 2016
--- new/src/share/vm/interpreter/bytecodeInterpreter.cpp	Tue Jan  5 12:33:32 2016

*** 2778,2812 **** --- 2778,2830 ---- // Place exception on top of stack SET_STACK_OBJECT(except_oop(), 0); MORE_STACK(1); pc = METHOD->code_base() + continuation_bci; if (log_is_enabled(Info, exceptions)) { ! ResourceMark rm(thread); log_info(exceptions)("Exception <%s> (" INTPTR_FORMAT ")\n" " thrown in interpreter method <%s>\n" + Symbol* message = java_lang_Throwable::detail_message(except_oop()); + stringStream tempst; + if (message != NULL) { + tempst.print("Exception <%s: %s> (" INTPTR_FORMAT ")\n", + except_oop->print_value_string(), message->as_C_string(), + p2i(except_oop())); + } else { + tempst.print("Exception <%s> (" INTPTR_FORMAT ")\n", + except_oop->print_value_string(), p2i(except_oop())); + } + tempst.print(" thrown in interpreter method <%s>\n" " at bci %d, continuing at %d for thread " INTPTR_FORMAT, except_oop->print_value_string(), p2i(except_oop()), METHOD->print_value_string(), (int)(istate->bcp() - METHOD->code_base()), (int)continuation_bci, p2i(THREAD)); + LogHandle(exceptions)::info_stream()->print_raw_cr(tempst.as_string()); } // for AbortVMOnException flag Exceptions::debug_check_abort(except_oop); // Update profiling data. BI_PROFILE_ALIGN_TO_CURRENT_BCI(); goto run; } if (log_is_enabled(Info, exceptions)) { ResourceMark rm; log_info(exceptions)("Exception <%s> (" INTPTR_FORMAT ")\n" " thrown in interpreter method <%s>\n" + Symbol* message = java_lang_Throwable::detail_message(except_oop()); + stringStream tempst; + if (message != NULL) { + tempst.print("Exception <%s: %s> (" INTPTR_FORMAT ")\n", + except_oop->print_value_string(), message->as_C_string(), + p2i(except_oop())); + } else { + tempst.print("Exception <%s> (" INTPTR_FORMAT ")\n", + except_oop->print_value_string(), p2i(except_oop())); + } + tempst.print(" thrown in interpreter method <%s>\n" " at bci %d, unwinding for thread " INTPTR_FORMAT, except_oop->print_value_string(), p2i(except_oop()), METHOD->print_value_string(), (int)(istate->bcp() - METHOD->code_base()), p2i(THREAD)); + LogHandle(exceptions)::info_stream()->print_raw_cr(tempst.as_string()); } // for AbortVMOnException flag Exceptions::debug_check_abort(except_oop); // No handler in this activation, unwind and try again

src/share/vm/interpreter/bytecodeInterpreter.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File