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

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

# Line 156 | Line 156 | public class ForkJoinWorkerThread extend
156      }
157  
158      // Set up to allow setting thread fields in constructor
159 <    private static final sun.misc.Unsafe U;
159 >    private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
160      private static final long THREADLOCALS;
161      private static final long INHERITABLETHREADLOCALS;
162      private static final long INHERITEDACCESSCONTROLCONTEXT;
163      static {
164          try {
165            U = sun.misc.Unsafe.getUnsafe();
166            Class<?> tk = Thread.class;
165              THREADLOCALS = U.objectFieldOffset
166 <                (tk.getDeclaredField("threadLocals"));
166 >                (Thread.class.getDeclaredField("threadLocals"));
167              INHERITABLETHREADLOCALS = U.objectFieldOffset
168 <                (tk.getDeclaredField("inheritableThreadLocals"));
168 >                (Thread.class.getDeclaredField("inheritableThreadLocals"));
169              INHERITEDACCESSCONTROLCONTEXT = U.objectFieldOffset
170 <                (tk.getDeclaredField("inheritedAccessControlContext"));
170 >                (Thread.class.getDeclaredField("inheritedAccessControlContext"));
171          } catch (ReflectiveOperationException e) {
172              throw new Error(e);
173          }
# Line 222 | Line 220 | public class ForkJoinWorkerThread extend
220          private static ThreadGroup createThreadGroup() {
221              try {
222                  sun.misc.Unsafe u = sun.misc.Unsafe.getUnsafe();
223 <                Class<?> tk = Thread.class;
224 <                Class<?> gk = ThreadGroup.class;
225 <                long tg = u.objectFieldOffset(tk.getDeclaredField("group"));
226 <                long gp = u.objectFieldOffset(gk.getDeclaredField("parent"));
223 >                long tg = u.objectFieldOffset
224 >                    (Thread.class.getDeclaredField("group"));
225 >                long gp = u.objectFieldOffset
226 >                    (ThreadGroup.class.getDeclaredField("parent"));
227                  ThreadGroup group = (ThreadGroup)
228                      u.getObject(Thread.currentThread(), tg);
229                  while (group != null) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines