I'm planning to commit this patch. The reason for it is that the
logic of initCause() is unnecessary in the constructor, and represents
unnecessary overhead which we pay for every time a chained exception
is created. The effect is especially exacerbated when the constructor
invocation is inlined at every instantiation site, bloating code size.
Note that initCause() is not final, so a subclass could override it;
however the constructor does not specify that it calls initCause() to
initialize the cause so this doesn't change any specified behavior.
2005-02-19 Archie Cobbs <[EMAIL PROTECTED]>
* java/lang/Throwable.java: simplify initializing cause in constructor
Thanks,
-Archie
__________________________________________________________________________
Archie Cobbs * CTO, Awarix * http://www.awarix.com
Index: java/lang/Throwable.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/Throwable.java,v
retrieving revision 1.28
diff -u -r1.28 Throwable.java
--- java/lang/Throwable.java 16 Feb 2005 11:18:37 -0000 1.28
+++ java/lang/Throwable.java 19 Feb 2005 02:56:02 -0000
@@ -172,7 +172,7 @@
public Throwable(String message, Throwable cause)
{
this(message);
- initCause(cause);
+ this.cause = cause;
}
/**
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches