rt/emul/compact/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java
changeset 1895 bfaf3300b7ba
parent 1890 212417b74b72
     1.1 --- a/rt/emul/compact/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java	Sat Mar 19 10:46:31 2016 +0100
     1.2 +++ b/rt/emul/compact/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java	Sat Mar 19 12:51:03 2016 +0100
     1.3 @@ -36,7 +36,6 @@
     1.4  package java.util.concurrent;
     1.5  import java.util.*;
     1.6  import java.util.concurrent.locks.*;
     1.7 -import sun.misc.Unsafe;
     1.8  
     1.9  /**
    1.10   * A thread-safe variant of {@link java.util.ArrayList} in which all mutative
    1.11 @@ -80,7 +79,7 @@
    1.12      private static final long serialVersionUID = 8673264195747942595L;
    1.13  
    1.14      /** The lock protecting all mutators */
    1.15 -    transient final ReentrantLock lock = new ReentrantLock();
    1.16 +    transient ReentrantLock lock = new ReentrantLock();
    1.17  
    1.18      /** The array, accessed only via getArray/setArray. */
    1.19      private volatile transient Object[] array;
    1.20 @@ -1323,18 +1322,6 @@
    1.21  
    1.22      // Support for resetting lock while deserializing
    1.23      private void resetLock() {
    1.24 -        UNSAFE.putObjectVolatile(this, lockOffset, new ReentrantLock());
    1.25 -    }
    1.26 -    private static final sun.misc.Unsafe UNSAFE;
    1.27 -    private static final long lockOffset;
    1.28 -    static {
    1.29 -        try {
    1.30 -            UNSAFE = sun.misc.Unsafe.getUnsafe();
    1.31 -            Class k = CopyOnWriteArrayList.class;
    1.32 -            lockOffset = UNSAFE.objectFieldOffset
    1.33 -                (k.getDeclaredField("lock"));
    1.34 -        } catch (Exception e) {
    1.35 -            throw new Error(e);
    1.36 -        }
    1.37 +        this.lock = new ReentrantLock();
    1.38      }
    1.39  }