public final class UnsafeAccessImpl extends Object implements com.oracle.truffle.api.unsafe.UnsafeAccess
Modifier and Type | Field and Description |
---|---|
private static sun.misc.Unsafe |
UNSAFE |
Constructor and Description |
---|
UnsafeAccessImpl(sun.misc.Unsafe unsafe) |
Modifier and Type | Method and Description |
---|---|
boolean |
getBoolean(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
byte |
getByte(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
double |
getDouble(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
float |
getFloat(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
int |
getInt(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
long |
getLong(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
Object |
getObject(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
short |
getShort(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static sun.misc.Unsafe |
getUnsafe() |
void |
putBoolean(Object receiver,
long offset,
boolean value,
Object locationIdentity) |
void |
putByte(Object receiver,
long offset,
byte value,
Object locationIdentity) |
void |
putDouble(Object receiver,
long offset,
double value,
Object locationIdentity) |
void |
putFloat(Object receiver,
long offset,
float value,
Object locationIdentity) |
void |
putInt(Object receiver,
long offset,
int value,
Object locationIdentity) |
void |
putLong(Object receiver,
long offset,
long value,
Object locationIdentity) |
void |
putObject(Object receiver,
long offset,
Object value,
Object locationIdentity) |
void |
putShort(Object receiver,
long offset,
short value,
Object locationIdentity) |
<T> T |
uncheckedCast(Object value,
Class<T> type,
boolean condition,
boolean nonNull) |
private static <T> T |
unsafeCast(Object value,
Class<T> type,
boolean condition,
boolean nonNull) |
private static boolean |
unsafeGetBoolean(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static byte |
unsafeGetByte(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static double |
unsafeGetDouble(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static float |
unsafeGetFloat(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static int |
unsafeGetInt(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static long |
unsafeGetLong(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static Object |
unsafeGetObject(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static short |
unsafeGetShort(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
private static void |
unsafePutBoolean(Object receiver,
long offset,
boolean value,
Object locationIdentity) |
private static void |
unsafePutByte(Object receiver,
long offset,
byte value,
Object locationIdentity) |
private static void |
unsafePutDouble(Object receiver,
long offset,
double value,
Object locationIdentity) |
private static void |
unsafePutFloat(Object receiver,
long offset,
float value,
Object locationIdentity) |
private static void |
unsafePutInt(Object receiver,
long offset,
int value,
Object locationIdentity) |
private static void |
unsafePutLong(Object receiver,
long offset,
long value,
Object locationIdentity) |
private static void |
unsafePutObject(Object receiver,
long offset,
Object value,
Object locationIdentity) |
private static void |
unsafePutShort(Object receiver,
long offset,
short value,
Object locationIdentity) |
private static final sun.misc.Unsafe UNSAFE
public UnsafeAccessImpl(sun.misc.Unsafe unsafe)
public <T> T uncheckedCast(Object value, Class<T> type, boolean condition, boolean nonNull)
uncheckedCast
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public boolean getBoolean(Object receiver, long offset, boolean condition, Object locationIdentity)
getBoolean
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public byte getByte(Object receiver, long offset, boolean condition, Object locationIdentity)
getByte
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public short getShort(Object receiver, long offset, boolean condition, Object locationIdentity)
getShort
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public int getInt(Object receiver, long offset, boolean condition, Object locationIdentity)
getInt
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public long getLong(Object receiver, long offset, boolean condition, Object locationIdentity)
getLong
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public float getFloat(Object receiver, long offset, boolean condition, Object locationIdentity)
getFloat
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public double getDouble(Object receiver, long offset, boolean condition, Object locationIdentity)
getDouble
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public Object getObject(Object receiver, long offset, boolean condition, Object locationIdentity)
getObject
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putBoolean(Object receiver, long offset, boolean value, Object locationIdentity)
putBoolean
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putByte(Object receiver, long offset, byte value, Object locationIdentity)
putByte
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putShort(Object receiver, long offset, short value, Object locationIdentity)
putShort
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putInt(Object receiver, long offset, int value, Object locationIdentity)
putInt
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putLong(Object receiver, long offset, long value, Object locationIdentity)
putLong
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putFloat(Object receiver, long offset, float value, Object locationIdentity)
putFloat
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putDouble(Object receiver, long offset, double value, Object locationIdentity)
putDouble
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
public void putObject(Object receiver, long offset, Object value, Object locationIdentity)
putObject
in interface com.oracle.truffle.api.unsafe.UnsafeAccess
private static <T> T unsafeCast(Object value, Class<T> type, boolean condition, boolean nonNull)
private static boolean unsafeGetBoolean(Object receiver, long offset, boolean condition, Object locationIdentity)
private static byte unsafeGetByte(Object receiver, long offset, boolean condition, Object locationIdentity)
private static short unsafeGetShort(Object receiver, long offset, boolean condition, Object locationIdentity)
private static int unsafeGetInt(Object receiver, long offset, boolean condition, Object locationIdentity)
private static long unsafeGetLong(Object receiver, long offset, boolean condition, Object locationIdentity)
private static float unsafeGetFloat(Object receiver, long offset, boolean condition, Object locationIdentity)
private static double unsafeGetDouble(Object receiver, long offset, boolean condition, Object locationIdentity)
private static Object unsafeGetObject(Object receiver, long offset, boolean condition, Object locationIdentity)
private static void unsafePutBoolean(Object receiver, long offset, boolean value, Object locationIdentity)
private static void unsafePutByte(Object receiver, long offset, byte value, Object locationIdentity)
private static void unsafePutShort(Object receiver, long offset, short value, Object locationIdentity)
private static void unsafePutInt(Object receiver, long offset, int value, Object locationIdentity)
private static void unsafePutLong(Object receiver, long offset, long value, Object locationIdentity)
private static void unsafePutFloat(Object receiver, long offset, float value, Object locationIdentity)
private static void unsafePutDouble(Object receiver, long offset, double value, Object locationIdentity)
private static void unsafePutObject(Object receiver, long offset, Object value, Object locationIdentity)
private static sun.misc.Unsafe getUnsafe()