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

Comparing jsr166/src/main/java/util/concurrent/ForkJoinTask.java (file contents):
Revision 1.2 by jsr166, Sun Jul 26 07:04:29 2009 UTC vs.
Revision 1.3 by jsr166, Sun Jul 26 17:48:58 2009 UTC

# Line 1109 | Line 1109 | public abstract class ForkJoinTask<V> im
1109              setDoneExceptionally((Throwable) ex);
1110      }
1111  
1112
1112      // Unsafe mechanics
1113 <    private static long fieldOffset(String fieldName, Class<?> klazz) {
1113 >
1114 >    private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe();
1115 >    private static final long statusOffset =
1116 >        objectFieldOffset("status", ForkJoinTask.class);
1117 >
1118 >    private static long objectFieldOffset(String field, Class<?> klazz) {
1119          try {
1120 <            return UNSAFE.objectFieldOffset(klazz.getDeclaredField(fieldName));
1120 >            return UNSAFE.objectFieldOffset(klazz.getDeclaredField(field));
1121          } catch (NoSuchFieldException e) {
1122 <            // Convert Exception to Error
1123 <            NoSuchFieldError error = new NoSuchFieldError(fieldName);
1122 >            // Convert Exception to corresponding Error
1123 >            NoSuchFieldError error = new NoSuchFieldError(field);
1124              error.initCause(e);
1125              throw error;
1126          }
1127      }
1124
1125    private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe();
1126    private static final long statusOffset =
1127        fieldOffset("status", ForkJoinTask.class);
1128
1128   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines