< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/UnsafeAccess.java

Print this page

        

*** 20,51 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package jdk.vm.ci.hotspot; - import java.lang.reflect.Field; - import jdk.internal.misc.Unsafe; /** * Package private access to the {@link Unsafe} capability. */ class UnsafeAccess { ! static final Unsafe UNSAFE = initUnsafe(); ! ! private static Unsafe initUnsafe() { ! try { ! // Fast path when we are trusted. ! return Unsafe.getUnsafe(); ! } catch (SecurityException se) { ! // Slow path when we are not trusted. ! try { ! Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe"); ! theUnsafe.setAccessible(true); ! return (Unsafe) theUnsafe.get(Unsafe.class); ! } catch (Exception e) { ! throw new RuntimeException("exception while trying to get Unsafe", e); ! } ! } ! } } --- 20,33 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package jdk.vm.ci.hotspot; import jdk.internal.misc.Unsafe; /** * Package private access to the {@link Unsafe} capability. */ class UnsafeAccess { ! static final Unsafe UNSAFE = Unsafe.getUnsafe(); }
< prev index next >