This class may be removed in the future. Consider the replacements in JEP 193 'Variable Handles': http://openjdk.java.net/jeps/193
/** * Atomically return the current object reference value, and exchange it with the given new reference value. */ public static Object getAndSetObject( Object obj, long offset, Object newValue ) { return unsafe.getAndSetObject( obj, offset, newValue ); }
@SuppressWarnings("unchecked") private Node<E> swapTail(final Node<E> newTail) { return (Node<E>)UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); }
@SuppressWarnings("unchecked") protected final LinkedQueueNode<E> xchgProducerNode(LinkedQueueNode<E> newVal) { return (LinkedQueueNode<E>) UNSAFE.getAndSetObject(this, P_NODE_OFFSET, newVal); } }
protected final Node xchgProducerNode(Node node) { // TODO: add support for JDK < 8 per org.jctools.queues.MpscLinkedQueue / MpscLinkedQueue8 return (Node) UNSAFE.getAndSetObject(this, P_NODE_OFFSET, node); } }
@SuppressWarnings("unchecked") private Node<E> swapTail(final Node<E> newTail) { return (Node<E>)UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); }
@SuppressWarnings("unchecked") private Node<E> swapTail(final Node<E> newTail) { return (Node<E>)UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); } }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
/** * {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public final V getAndSet(T obj, V newValue) { return (V)unsafe.getAndSetObject(obj, offset, newValue); } }
@Override public Object getAndSetObject(Unsafe unsafe, Object o, long offset, Object newValue) { return unsafe.getAndSetObject(o, offset, newValue); }
@SuppressWarnings("unchecked") protected final LinkedQueueNode<E> xchgProducerNode(LinkedQueueNode<E> newVal) { return (LinkedQueueNode<E>) UNSAFE.getAndSetObject(this, P_NODE_OFFSET, newVal); } }
@SuppressWarnings("unchecked") private Node<E> swapTail(final Node<E> newTail) { return (Node<E>)UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); }
/** * Atomically return the current object reference value, and exchange it with the given new reference value. */ public static Object getAndSetObject( Object obj, long offset, Object newValue ) { return unsafe.getAndSetObject( obj, offset, newValue ); }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
private ActorTaskQueueNode swapTail(final ActorTaskQueueNode newTail) { return (ActorTaskQueueNode) UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); }
private ActorTaskQueueNode swapTail(final ActorTaskQueueNode newTail) { return (ActorTaskQueueNode) UNSAFE.getAndSetObject(this, TAIL_OFFSET, newTail); }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
public Object getAndSet(Object update) { return UnsafeAccess.UNSAFE.getAndSetObject(this, OFFSET, update); } }
@Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true) @SuppressWarnings("unchecked") public final T getAndSet(T newValue) { return (T) UnsafeAccess.UNSAFE.getAndSetObject(this, VALUE_OFFSET, newValue); } }