diff options
author | Josh Suereth <joshua.suereth@gmail.com> | 2012-06-11 10:19:30 -0400 |
---|---|---|
committer | Josh Suereth <joshua.suereth@gmail.com> | 2012-06-11 10:19:30 -0400 |
commit | ecc323233e2ff4f005e0d2b7ac62487954678977 (patch) | |
tree | a629e58a8b822645216b74729aa11085e35772f0 /src/forkjoin | |
parent | de6989a068982a216621082c01dd1db3861940f8 (diff) | |
download | scala-ecc323233e2ff4f005e0d2b7ac62487954678977.tar.gz scala-ecc323233e2ff4f005e0d2b7ac62487954678977.tar.bz2 scala-ecc323233e2ff4f005e0d2b7ac62487954678977.zip |
Forkjoin and fjbg are now always compiled in the build.
* forkjoin.done/forkjoine.clean can test forkjoin source
* fjbg.done/fjbg.clean can test fjbg source.
Diffstat (limited to 'src/forkjoin')
-rw-r--r-- | src/forkjoin/scala/concurrent/util/Unsafe.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/forkjoin/scala/concurrent/util/Unsafe.java b/src/forkjoin/scala/concurrent/util/Unsafe.java new file mode 100644 index 0000000000..0cd48758d5 --- /dev/null +++ b/src/forkjoin/scala/concurrent/util/Unsafe.java @@ -0,0 +1,35 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2003-2011, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +package scala.concurrent.util; + + + +import java.lang.reflect.Field; + + + +public final class Unsafe { + public final static sun.misc.Unsafe instance; + static { + try { + sun.misc.Unsafe found = null; + for(Field field : sun.misc.Unsafe.class.getDeclaredFields()) { + if (field.getType() == sun.misc.Unsafe.class) { + field.setAccessible(true); + found = (sun.misc.Unsafe) field.get(null); + break; + } + } + if (found == null) throw new IllegalStateException("Can't find instance of sun.misc.Unsafe"); + else instance = found; + } catch(Throwable t) { + throw new ExceptionInInitializerError(t); + } + } +} |