ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/FutureTask.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/FutureTask.java (file contents):
Revision 1.109 by jsr166, Sun Jan 4 01:06:15 2015 UTC vs.
Revision 1.110 by jsr166, Sun Jan 4 09:15:11 2015 UTC

# Line 454 | Line 454 | public class FutureTask<V> implements Ru
454      }
455  
456      // Unsafe mechanics
457 <    private static final sun.misc.Unsafe U;
457 >    private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
458      private static final long STATE;
459      private static final long RUNNER;
460      private static final long WAITERS;
461      static {
462          try {
463 <            U = sun.misc.Unsafe.getUnsafe();
464 <            Class<?> k = FutureTask.class;
465 <            STATE   = U.objectFieldOffset(k.getDeclaredField("state"));
466 <            RUNNER  = U.objectFieldOffset(k.getDeclaredField("runner"));
467 <            WAITERS = U.objectFieldOffset(k.getDeclaredField("waiters"));
463 >            STATE = U.objectFieldOffset
464 >                (FutureTask.class.getDeclaredField("state"));
465 >            RUNNER = U.objectFieldOffset
466 >                (FutureTask.class.getDeclaredField("runner"));
467 >            WAITERS = U.objectFieldOffset
468 >                (FutureTask.class.getDeclaredField("waiters"));
469          } catch (ReflectiveOperationException e) {
470              throw new Error(e);
471          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines