summaryrefslogtreecommitdiff
path: root/src/forkjoin
diff options
context:
space:
mode:
authorViktor Klang <viktor.klang@gmail.com>2012-06-05 12:12:57 +0200
committerViktor Klang <viktor.klang@gmail.com>2012-06-05 12:12:57 +0200
commit06d685c1bbd8a0d058ee8a3f374569f8097f2acc (patch)
tree6d9d73553a030cddbd8877db732c2128fc9d3559 /src/forkjoin
parent23dd04f089fba959835ed8b187e229a6472cc311 (diff)
downloadscala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.tar.gz
scala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.tar.bz2
scala-06d685c1bbd8a0d058ee8a3f374569f8097f2acc.zip
Switching the the Akka-contributed Unsafe detection to support more platforms, like Android
Diffstat (limited to 'src/forkjoin')
-rw-r--r--src/forkjoin/scala/concurrent/forkjoin/ForkJoinPool.java19
-rw-r--r--src/forkjoin/scala/concurrent/forkjoin/ForkJoinTask.java19
-rw-r--r--src/forkjoin/scala/concurrent/forkjoin/LinkedTransferQueue.java19
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;
}
}