RFR: 8035284: (xs) Remove redundant null initialization

Martin Buchholz martinrb at google.com
Fri Apr 11 19:57:13 UTC 2014


It's surprising that javac does not eliminate the redundant initializations
to null.  Initializing to null has documentation value (suggesting that the
constructor will not assign a value; null is a "valid" value).  How about
fixing javac instead?


On Fri, Apr 11, 2014 at 12:22 PM, Mike Duigou <mike.duigou at oracle.com>wrote:

> Hello all;
>
> This is a simple cleanup changeset that removes redundant initialization
> of fields to null from a number of collection classes. These field
> initializations may seem cheap but they do have a cost:
>
> - For volatile fields there is a measurable cost on some benchmarks for
> these extra initializations.
>
> - Larger byte code in <init> methods.
>
> - For transient fields the initialization is misleading since it does not
> occur on deserialization.
>
> https://bugs.openjdk.java.net/browse/JDK-8035284
> http://cr.openjdk.java.net/~mduigou/JDK-8035284/0/webrev/
>
> Redundant null initializations in other components/packages will be
> handled in separate issues.
>
> Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20140411/26c07bcf/attachment.html>


More information about the compiler-dev mailing list