--- old/src/share/classes/java/lang/Throwable.java 2012-11-15 11:40:39.000000000 +0100 +++ new/src/share/classes/java/lang/Throwable.java 2012-11-15 11:40:39.000000000 +0100 @@ -27,6 +27,8 @@ import java.io.*; import java.util.*; +import sun.misc.ThrowableTrace; + /** * The {@code Throwable} class is the superclass of all errors and * exceptions in the Java language. Only objects that are instances of this @@ -248,6 +250,7 @@ */ public Throwable() { fillInStackTrace(); + ThrowableTrace.traceThrowable(this); } /** @@ -264,6 +267,7 @@ public Throwable(String message) { fillInStackTrace(); detailMessage = message; + ThrowableTrace.traceThrowable(this); } /** @@ -287,6 +291,7 @@ fillInStackTrace(); detailMessage = message; this.cause = cause; + ThrowableTrace.traceThrowable(this); } /** @@ -310,6 +315,7 @@ fillInStackTrace(); detailMessage = (cause==null ? null : cause.toString()); this.cause = cause; + ThrowableTrace.traceThrowable(this); } /** @@ -365,6 +371,7 @@ this.cause = cause; if (!enableSuppression) suppressedExceptions = null; + ThrowableTrace.traceThrowable(this); } /**