diff options
author | Viktor Klang <viktor.klang@gmail.com> | 2012-06-05 12:12:57 +0200 |
---|---|---|
committer | Viktor Klang <viktor.klang@gmail.com> | 2012-06-05 12:12:57 +0200 |
commit | 06d685c1bbd8a0d058ee8a3f374569f8097f2acc (patch) | |
tree | 6d9d73553a030cddbd8877db732c2128fc9d3559 | |
parent | 23dd04f089fba959835ed8b187e229a6472cc311 (diff) | |
download | scala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.tar.gz scala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.tar.bz2 scala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.zip |
Switching the the Akka-contributed Unsafe detection to support more platforms, like Android
3 files changed, 3 insertions, 54 deletions
diff --git a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java index e9389e9acb..13439e9019 100644 --- a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java +++ b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java @@ -2868,24 +2868,7 @@ public class ForkJoinPool /*extends AbstractExecutorService*/ { * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { - try { - return sun.misc.Unsafe.getUnsafe(); - } catch (SecurityException se) { - try { - return java.security.AccessController.doPrivileged - (new java.security - .PrivilegedExceptionAction<sun.misc.Unsafe>() { - public sun.misc.Unsafe run() throws Exception { - java.lang.reflect.Field f = sun.misc - .Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - }}); - } catch (java.security.PrivilegedActionException e) { - throw new RuntimeException("Could not initialize intrinsics", - e.getCause()); - } - } + return scala.concurrent.util.Unsafe.instance; } } diff --git a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java index 344f6887a6..5619bb0255 100644 --- a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java +++ b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java @@ -1500,23 +1500,6 @@ public abstract class ForkJoinTask<V> implements Future<V>, Serializable { * @return a sun.misc.Unsafe */ private static sun.misc.Unsafe getUnsafe() { - try { - return sun.misc.Unsafe.getUnsafe(); - } catch (SecurityException se) { - try { - return java.security.AccessController.doPrivileged - (new java.security - .PrivilegedExceptionAction<sun.misc.Unsafe>() { - public sun.misc.Unsafe run() throws Exception { - java.lang.reflect.Field f = sun.misc - .Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - }}); - } catch (java.security.PrivilegedActionException e) { - throw new RuntimeException("Could not initialize intrinsics", - e.getCause()); - } - } + return scala.concurrent.util.Unsafe.instance; } } diff --git a/src/forkjoin/scala/concurrent/forkjoin/LinkedTransferQueue.java b/src/forkjoin/scala/concurrent/forkjoin/LinkedTransferQueue.java index ceeb9212d5..07e81b395d 100644 --- a/src/forkjoin/scala/concurrent/forkjoin/LinkedTransferQueue.java +++ b/src/forkjoin/scala/concurrent/forkjoin/LinkedTransferQueue.java @@ -1329,24 +1329,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E> * @return a sun.misc.Unsafe */ static sun.misc.Unsafe getUnsafe() { - try { - return sun.misc.Unsafe.getUnsafe(); - } catch (SecurityException se) { - try { - return java.security.AccessController.doPrivileged - (new java.security - .PrivilegedExceptionAction<sun.misc.Unsafe>() { - public sun.misc.Unsafe run() throws Exception { - java.lang.reflect.Field f = sun.misc - .Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return (sun.misc.Unsafe) f.get(null); - }}); - } catch (java.security.PrivilegedActionException e) { - throw new RuntimeException("Could not initialize intrinsics", - e.getCause()); - } - } + return scala.concurrent.util.Unsafe.instance; } } |