--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java Mon Aug 15 14:25:51 2016 +0100
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java Mon Aug 15 09:04:40 2016 -0700
@@ -147,11 +147,7 @@
* @return the previous value
*/
public final boolean getAndSet(boolean newValue) {
- boolean prev;
- do {
- prev = get();
- } while (!compareAndSet(prev, newValue));
- return prev;
+ return (int)VALUE.getAndSet(this, (newValue ? 1 : 0)) != 0;
}
/**