ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166y/LinkedTransferQueue.java
(Generate patch)

Comparing jsr166/src/jsr166y/LinkedTransferQueue.java (file contents):
Revision 1.18 by jsr166, Mon Jul 20 22:26:03 2009 UTC vs.
Revision 1.21 by jsr166, Wed Jul 22 01:36:51 2009 UTC

# Line 44 | Line 44 | import java.lang.reflect.*;
44   * @since 1.7
45   * @author Doug Lea
46   * @param <E> the type of elements held in this collection
47 *
47   */
48   public class LinkedTransferQueue<E> extends AbstractQueue<E>
49      implements TransferQueue<E>, java.io.Serializable {
# Line 765 | Line 764 | public class LinkedTransferQueue<E> exte
764      /**
765       * Reconstitute the Queue instance from a stream (that is,
766       * deserialize it).
767 +     *
768       * @param s the stream
769       */
770      private void readObject(java.io.ObjectInputStream s)
# Line 784 | Line 784 | public class LinkedTransferQueue<E> exte
784      // Support for resetting head/tail while deserializing
785      private void resetHeadAndTail() {
786          QNode dummy = new QNode(null, false);
787 <        _unsafe.putObjectVolatile(this, headOffset,
787 >        UNSAFE.putObjectVolatile(this, headOffset,
788                                    new PaddedAtomicReference<QNode>(dummy));
789 <        _unsafe.putObjectVolatile(this, tailOffset,
789 >        UNSAFE.putObjectVolatile(this, tailOffset,
790                                    new PaddedAtomicReference<QNode>(dummy));
791 <        _unsafe.putObjectVolatile(this, cleanMeOffset,
791 >        UNSAFE.putObjectVolatile(this, cleanMeOffset,
792                                    new PaddedAtomicReference<QNode>(null));
793      }
794  
# Line 818 | Line 818 | public class LinkedTransferQueue<E> exte
818  
819      private static long fieldOffset(String fieldName)
820              throws NoSuchFieldException {
821 <        return _unsafe.objectFieldOffset
821 >        return UNSAFE.objectFieldOffset
822              (LinkedTransferQueue.class.getDeclaredField(fieldName));
823      }
824  
825 <    private static final Unsafe _unsafe;
825 >    private static final Unsafe UNSAFE;
826      private static final long headOffset;
827      private static final long tailOffset;
828      private static final long cleanMeOffset;
829      static {
830          try {
831 <            _unsafe = getUnsafe();
831 >            UNSAFE = getUnsafe();
832              headOffset = fieldOffset("head");
833              tailOffset = fieldOffset("tail");
834              cleanMeOffset = fieldOffset("cleanMe");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines