diff options
author | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-06-05 06:49:54 -0700 |
---|---|---|
committer | Josh Suereth <Joshua.Suereth@gmail.com> | 2012-06-05 06:49:54 -0700 |
commit | db1b777372a6883f9c474159804b8f7798c0ec49 (patch) | |
tree | 24ab01a6d70f630efee1460d2f47d11fd5e37f9a | |
parent | e90ea27cbeff305860a583160373a2af5b59581d (diff) | |
parent | 06d685c1bbd8a0d058ee8a3f374569f8097f2acc (diff) | |
download | scala-db1b777372a6883f9c474159804b8f7798c0ec49.tar.gz scala-db1b777372a6883f9c474159804b8f7798c0ec49.tar.bz2 scala-db1b777372a6883f9c474159804b8f7798c0ec49.zip |
Merge pull request #668 from viktorklang/master
Switching to the Akka-provided Unsafe detection
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 4b5b3382f5..65654be69b 100644 --- a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java +++ b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java @@ -2864,24 +2864,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 2ba146c4da..15c60118b3 100644 --- a/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java +++ b/src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java @@ -1537,23 +1537,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; } } |