< 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 >