private boolean compareAndSetFreelistHead( Object expected, Object update ) { return UnsafeUtil.compareAndSwapObject( this, freelistOffset, expected, update ); }
private boolean compareAndSetLatch( int index, Latch expected, Latch update ) { return UnsafeUtil.compareAndSwapObject( latches, offset( index ), expected, update ); }
@Test void compareAndSwapObjectField() { Obj obj = new Obj(); long objectOffset = getFieldOffset( Obj.class, "object" ); assertTrue( compareAndSwapObject( obj, objectOffset, null, obj ) ); assertFalse( compareAndSwapObject( obj, objectOffset, null, obj ) ); assertTrue( compareAndSwapObject( obj, objectOffset, obj, null ) ); assertThat( obj, is( new Obj() ) ); }
private boolean compareAndSetFreelistHead( Object expected, Object update ) { return UnsafeUtil.compareAndSwapObject( this, freelistOffset, expected, update ); }
private boolean compareAndSetLatch( int index, Latch expected, Latch update ) { return UnsafeUtil.compareAndSwapObject( latches, offset( index ), expected, update ); }