hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 35557 029dcb9bfa8b
parent 35143 33daaea9d5c2
child 35606 d873b64009cc
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp	Tue Jan 12 16:00:04 2016 +0100
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp	Tue Jan 12 10:44:41 2016 -1000
@@ -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);