diff -r 9a10a2c4dc13 -r bfcdf736a998 jdk/src/java.base/share/classes/java/util/concurrent/FutureTask.java --- a/jdk/src/java.base/share/classes/java/util/concurrent/FutureTask.java Thu Mar 24 16:21:19 2016 +0100 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/FutureTask.java Fri Mar 25 15:35:43 2016 +0300 @@ -174,7 +174,7 @@ if (t != null) t.interrupt(); } finally { // final state - U.putOrderedInt(this, STATE, INTERRUPTED); + U.putIntRelease(this, STATE, INTERRUPTED); } } } finally { @@ -230,7 +230,7 @@ protected void set(V v) { if (U.compareAndSwapInt(this, STATE, NEW, COMPLETING)) { outcome = v; - U.putOrderedInt(this, STATE, NORMAL); // final state + U.putIntRelease(this, STATE, NORMAL); // final state finishCompletion(); } } @@ -248,7 +248,7 @@ protected void setException(Throwable t) { if (U.compareAndSwapInt(this, STATE, NEW, COMPLETING)) { outcome = t; - U.putOrderedInt(this, STATE, EXCEPTIONAL); // final state + U.putIntRelease(this, STATE, EXCEPTIONAL); // final state finishCompletion(); } }