diff -r 212417b74b72 -r bfaf3300b7ba rt/emul/compact/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java --- a/rt/emul/compact/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java Sat Mar 19 10:46:31 2016 +0100 +++ b/rt/emul/compact/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java Sat Mar 19 12:51:03 2016 +0100 @@ -35,7 +35,6 @@ package java.util.concurrent; import java.util.*; -import sun.misc.Unsafe; /** * A scalable concurrent {@link NavigableSet} implementation based on @@ -93,7 +92,7 @@ * element. This field is declared final for the sake of thread * safety, which entails some ugliness in clone() */ - private final ConcurrentNavigableMap m; + private ConcurrentNavigableMap m; /** * Constructs a new, empty set that orders its elements according to @@ -473,19 +472,6 @@ // Support for resetting map in clone private void setMap(ConcurrentNavigableMap map) { - UNSAFE.putObjectVolatile(this, mapOffset, map); - } - - private static final sun.misc.Unsafe UNSAFE; - private static final long mapOffset; - static { - try { - UNSAFE = sun.misc.Unsafe.getUnsafe(); - Class k = ConcurrentSkipListSet.class; - mapOffset = UNSAFE.objectFieldOffset - (k.getDeclaredField("m")); - } catch (Exception e) { - throw new Error(e); - } + this.m = map; } }