--- jsr166/src/jsr166e/LongMaxUpdater.java 2014/05/04 22:38:19 1.9 +++ jsr166/src/jsr166e/LongMaxUpdater.java 2014/05/05 20:20:15 1.11 @@ -5,6 +5,10 @@ */ package jsr166e; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.Serializable; /** @@ -52,7 +56,7 @@ public class LongMaxUpdater extends Stri if ((as = cells) != null || (b = base) < x && !casBase(b, x)) { boolean uncontended = true; - if ((hc = threadHashCode.get()) == null || + if ((hc = threadHashCode.get()) == null || as == null || (n = as.length) < 1 || (a = as[(n - 1) & hc[0]]) == null || ((v = a.value) < x && !(uncontended = a.cas(v, x)))) @@ -166,14 +170,13 @@ public class LongMaxUpdater extends Stri return (double)max(); } - private void writeObject(java.io.ObjectOutputStream s) - throws java.io.IOException { + private void writeObject(ObjectOutputStream s) throws IOException { s.defaultWriteObject(); s.writeLong(max()); } - private void readObject(java.io.ObjectInputStream s) - throws java.io.IOException, ClassNotFoundException { + private void readObject(ObjectInputStream s) + throws IOException, ClassNotFoundException { s.defaultReadObject(); busy = 0; cells = null;