RFR: 8292698: Improve performance of DataInputStream

Daniel Fuchs dfuchs at openjdk.org
Tue Aug 23 15:55:33 UTC 2022


On Tue, 23 Aug 2022 14:31:26 GMT, Сергей Цыпанов <duke at openjdk.org> wrote:

> > I agree that caution is warranted
> 
> But assuming I've reverted the changes that are dubious, how could there be bugs caused by replacement of multiple reads with a single one? I was sure that such replacement improves thread safety as soon as we rid racy reads.

Yes - that's what I was trying to say. I believe reading the volatile only once per method is much better for consistency. And I'm not sure I see why the other changes were dubious since these methods weren't checking for `null` either?
My point is that if some method in the subclass can set the value to `null` asynchronously when some other method in the super class is running then that's a NPE time-bomb (and IMO there's a bug lurking if that can happen).

-------------

PR: https://git.openjdk.org/jdk/pull/9956


More information about the core-libs-dev mailing list