RFR: 8181085: Race condition in method resolution may produce spurious NullPointerException

Andrew Haley aph at redhat.com
Fri May 26 08:26:01 UTC 2017


On 26/05/17 03:20, David Holmes wrote:
> Any variable passed to an OrderAccess, or Atomic, function should be 
> volatile to minimise the chances the C compiler will do something 
> unexpected with it.

That's not much more than paranoia, IMO.  If the barriers are strong
enough it'll be fine.  The problem was, I suppose, with old compilers
which didn't handle memory barriers properly, but we should be moving
towards standard ways of doing these things.  Standard atomics have
been available since C++11 (I think) and GCC has had support since long
before then.

Maybe in the JDK10 timeframe we can look at upgrading the compilers
for all platforms.

Andrew.


More information about the jdk10-dev mailing list