1597 return (interrupted || Thread.interrupted()) ? INTERRUPTED : 0L;
1598 }
1599
1600 // VarHandle mechanics
1601 private static final VarHandle STATE;
1602 private static final VarHandle WHEAD;
1603 private static final VarHandle WTAIL;
1604 private static final VarHandle WNEXT;
1605 private static final VarHandle WSTATUS;
1606 private static final VarHandle WCOWAIT;
1607 static {
1608 try {
1609 MethodHandles.Lookup l = MethodHandles.lookup();
1610 STATE = l.findVarHandle(StampedLock.class, "state", long.class);
1611 WHEAD = l.findVarHandle(StampedLock.class, "whead", WNode.class);
1612 WTAIL = l.findVarHandle(StampedLock.class, "wtail", WNode.class);
1613 WSTATUS = l.findVarHandle(WNode.class, "status", int.class);
1614 WNEXT = l.findVarHandle(WNode.class, "next", WNode.class);
1615 WCOWAIT = l.findVarHandle(WNode.class, "cowait", WNode.class);
1616 } catch (ReflectiveOperationException e) {
1617 throw new Error(e);
1618 }
1619 }
1620 }
|
1597 return (interrupted || Thread.interrupted()) ? INTERRUPTED : 0L;
1598 }
1599
1600 // VarHandle mechanics
1601 private static final VarHandle STATE;
1602 private static final VarHandle WHEAD;
1603 private static final VarHandle WTAIL;
1604 private static final VarHandle WNEXT;
1605 private static final VarHandle WSTATUS;
1606 private static final VarHandle WCOWAIT;
1607 static {
1608 try {
1609 MethodHandles.Lookup l = MethodHandles.lookup();
1610 STATE = l.findVarHandle(StampedLock.class, "state", long.class);
1611 WHEAD = l.findVarHandle(StampedLock.class, "whead", WNode.class);
1612 WTAIL = l.findVarHandle(StampedLock.class, "wtail", WNode.class);
1613 WSTATUS = l.findVarHandle(WNode.class, "status", int.class);
1614 WNEXT = l.findVarHandle(WNode.class, "next", WNode.class);
1615 WCOWAIT = l.findVarHandle(WNode.class, "cowait", WNode.class);
1616 } catch (ReflectiveOperationException e) {
1617 throw new ExceptionInInitializerError(e);
1618 }
1619 }
1620 }
|