1.1 --- a/rt/emul/compact/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java Sat Mar 19 10:46:31 2016 +0100
1.2 +++ b/rt/emul/compact/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java Sat Mar 19 12:51:03 2016 +0100
1.3 @@ -35,7 +35,6 @@
1.4
1.5 package java.util.concurrent;
1.6 import java.util.*;
1.7 -import sun.misc.Unsafe;
1.8
1.9 /**
1.10 * A scalable concurrent {@link NavigableSet} implementation based on
1.11 @@ -93,7 +92,7 @@
1.12 * element. This field is declared final for the sake of thread
1.13 * safety, which entails some ugliness in clone()
1.14 */
1.15 - private final ConcurrentNavigableMap<E,Object> m;
1.16 + private ConcurrentNavigableMap<E,Object> m;
1.17
1.18 /**
1.19 * Constructs a new, empty set that orders its elements according to
1.20 @@ -473,19 +472,6 @@
1.21
1.22 // Support for resetting map in clone
1.23 private void setMap(ConcurrentNavigableMap<E,Object> map) {
1.24 - UNSAFE.putObjectVolatile(this, mapOffset, map);
1.25 - }
1.26 -
1.27 - private static final sun.misc.Unsafe UNSAFE;
1.28 - private static final long mapOffset;
1.29 - static {
1.30 - try {
1.31 - UNSAFE = sun.misc.Unsafe.getUnsafe();
1.32 - Class k = ConcurrentSkipListSet.class;
1.33 - mapOffset = UNSAFE.objectFieldOffset
1.34 - (k.getDeclaredField("m"));
1.35 - } catch (Exception e) {
1.36 - throw new Error(e);
1.37 - }
1.38 + this.m = map;
1.39 }
1.40 }