diff -r 463d67f86eaa -r 1e48ea715a0b hotspot/src/share/vm/classfile/javaClasses.cpp --- a/hotspot/src/share/vm/classfile/javaClasses.cpp Wed Feb 03 11:40:30 2016 -0500 +++ b/hotspot/src/share/vm/classfile/javaClasses.cpp Wed Feb 03 18:16:54 2016 +0100 @@ -1784,6 +1784,20 @@ } } +/** + * Print the throwable stack trace by calling the Java method java.lang.Throwable.printStackTrace(). + */ +void java_lang_Throwable::java_printStackTrace(Handle throwable, TRAPS) { + assert(throwable->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected"); + JavaValue result(T_VOID); + JavaCalls::call_virtual(&result, + throwable, + KlassHandle(THREAD, SystemDictionary::Throwable_klass()), + vmSymbols::printStackTrace_name(), + vmSymbols::void_method_signature(), + THREAD); +} + void java_lang_Throwable::fill_in_stack_trace(Handle throwable, const methodHandle& method, TRAPS) { if (!StackTraceInThrowable) return; ResourceMark rm(THREAD);