Hi, I updated the webrev in place.
The doc of each bitwise access mode now includes: * <p>If the variable type is the non-integral {@code boolean} type then a * logical OR is performed instead of a bitwise OR. The unsafe bitwise acquire CAS methods have: @ForceInline public final int getAndBitwiseOrIntAcquire(Object o, long offset, int mask) { int current; do { // Plain read, the value is a hint, the acquire CAS does the work current = getInt(o, offset); } while (!weakCompareAndSwapIntAcquire(o, offset, current, current | mask)); return current; } Thanks, Paul. > On 9 Aug 2016, at 17:14, Paul Sandoz <paul.san...@oracle.com> wrote: > > Hi > > Please review the following webrev which combines: > > 8161444 VarHandles should provide access bitwise atomics > 8162107 Add acquire/release variants for getAndSet and getAndAdd > > > http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8161444-vhs-bitwise-atomics/webrev/ > > http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8161444-vhs-bitwise-atomics/specdiff/overview-summary.html > > The set of access modes are expanded for support bitwise or/and/xor > operations for volatile/acquire/release. Acquire/release getAndAdd and > getAndSet access modes are also added (a future webrev will remove > getAndAdd). This gets closer to parity with C++ atomics. > > As a follow on i will: > > - update the Hotspot Unsafe tests as a separate issue (the VarHandle tests > implicitly test the Unsafe methods). > > - log HotSpot bugs for making the Unsafe bitwise atomics intrinsic for > various platforms. > > Thanks, > Paul.