public final class FrameWithoutBoxing extends Object implements com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.frame.MaterializedFrame
| Modifier and Type | Field and Description |
|---|---|
private Object[] |
arguments |
static byte |
BOOLEAN_TAG |
static byte |
BYTE_TAG |
private com.oracle.truffle.api.frame.FrameDescriptor |
descriptor |
static byte |
DOUBLE_TAG |
static byte |
FLOAT_TAG |
static byte |
ILLEGAL_TAG |
static byte |
INT_TAG |
private Object[] |
locals |
static byte |
LONG_TAG |
static byte |
OBJECT_TAG |
private long[] |
primitiveLocals |
private byte[] |
tags |
private static sun.misc.Unsafe |
UNSAFE |
| Constructor and Description |
|---|
FrameWithoutBoxing(com.oracle.truffle.api.frame.FrameDescriptor descriptor,
Object[] arguments) |
| Modifier and Type | Method and Description |
|---|---|
private void |
checkSlotIndex(int slotIndex) |
Object[] |
getArguments() |
boolean |
getBoolean(com.oracle.truffle.api.frame.FrameSlot slot) |
private boolean |
getBooleanUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
byte |
getByte(com.oracle.truffle.api.frame.FrameSlot slot) |
private byte |
getByteUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
double |
getDouble(com.oracle.truffle.api.frame.FrameSlot slot) |
private double |
getDoubleUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
float |
getFloat(com.oracle.truffle.api.frame.FrameSlot slot) |
private float |
getFloatUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
com.oracle.truffle.api.frame.FrameDescriptor |
getFrameDescriptor() |
int |
getInt(com.oracle.truffle.api.frame.FrameSlot slot) |
private int |
getIntUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
private Object[] |
getLocals() |
long |
getLong(com.oracle.truffle.api.frame.FrameSlot slot) |
private long |
getLongUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
Object |
getObject(com.oracle.truffle.api.frame.FrameSlot slot) |
private Object |
getObjectUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot) |
private long[] |
getPrimitiveLocals() |
private static long |
getPrimitiveOffset(int slotIndex) |
private byte |
getTag(com.oracle.truffle.api.frame.FrameSlot slot) |
private byte[] |
getTags() |
private static sun.misc.Unsafe |
getUnsafe() |
Object |
getValue(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isBoolean(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isByte(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isDouble(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isFloat(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isInt(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isLong(com.oracle.truffle.api.frame.FrameSlot slot) |
boolean |
isObject(com.oracle.truffle.api.frame.FrameSlot slot) |
com.oracle.truffle.api.frame.MaterializedFrame |
materialize() |
private boolean |
resize() |
void |
setBoolean(com.oracle.truffle.api.frame.FrameSlot slot,
boolean value) |
private void |
setBooleanUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
boolean value) |
void |
setByte(com.oracle.truffle.api.frame.FrameSlot slot,
byte value) |
private void |
setByteUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
byte value) |
void |
setDouble(com.oracle.truffle.api.frame.FrameSlot slot,
double value) |
private void |
setDoubleUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
double value) |
void |
setFloat(com.oracle.truffle.api.frame.FrameSlot slot,
float value) |
private void |
setFloatUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
float value) |
void |
setInt(com.oracle.truffle.api.frame.FrameSlot slot,
int value) |
private void |
setIntUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
int value) |
void |
setLong(com.oracle.truffle.api.frame.FrameSlot slot,
long value) |
private void |
setLongUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
long value) |
void |
setObject(com.oracle.truffle.api.frame.FrameSlot slot,
Object value) |
private void |
setObjectUnsafe(int slotIndex,
com.oracle.truffle.api.frame.FrameSlot slot,
Object value) |
(package private) static <T> T |
unsafeCast(Object value,
Class<T> type,
boolean condition,
boolean nonNull) |
(package private) static double |
unsafeGetDouble(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
(package private) static float |
unsafeGetFloat(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
(package private) static int |
unsafeGetInt(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
(package private) static long |
unsafeGetLong(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
(package private) static Object |
unsafeGetObject(Object receiver,
long offset,
boolean condition,
Object locationIdentity) |
(package private) static void |
unsafePutDouble(Object receiver,
long offset,
double value,
Object locationIdentity) |
(package private) static void |
unsafePutFloat(Object receiver,
long offset,
float value,
Object locationIdentity) |
(package private) static void |
unsafePutInt(Object receiver,
long offset,
int value,
Object locationIdentity) |
(package private) static void |
unsafePutLong(Object receiver,
long offset,
long value,
Object locationIdentity) |
(package private) static void |
unsafePutObject(Object receiver,
long offset,
Object value,
Object locationIdentity) |
private void |
verifyGet(int slotIndex,
byte tag) |
private void |
verifySet(int slotIndex,
byte tag) |
private final com.oracle.truffle.api.frame.FrameDescriptor descriptor
private long[] primitiveLocals
private byte[] tags
public static final byte OBJECT_TAG
public static final byte ILLEGAL_TAG
public static final byte LONG_TAG
public static final byte INT_TAG
public static final byte DOUBLE_TAG
public static final byte FLOAT_TAG
public static final byte BOOLEAN_TAG
public static final byte BYTE_TAG
private static final sun.misc.Unsafe UNSAFE
public FrameWithoutBoxing(com.oracle.truffle.api.frame.FrameDescriptor descriptor, Object[] arguments)
public Object[] getArguments()
getArguments in interface com.oracle.truffle.api.frame.Framepublic com.oracle.truffle.api.frame.MaterializedFrame materialize()
materialize in interface com.oracle.truffle.api.frame.Framepublic Object getObject(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getObject in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate long[] getPrimitiveLocals()
private byte[] getTags()
private Object getObjectUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setObject(com.oracle.truffle.api.frame.FrameSlot slot, Object value)
setObject in interface com.oracle.truffle.api.frame.Frameprivate void setObjectUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, Object value)
public byte getByte(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getByte in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate byte getByteUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setByte(com.oracle.truffle.api.frame.FrameSlot slot, byte value)
setByte in interface com.oracle.truffle.api.frame.Frameprivate void setByteUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, byte value)
public boolean getBoolean(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getBoolean in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate boolean getBooleanUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setBoolean(com.oracle.truffle.api.frame.FrameSlot slot, boolean value)
setBoolean in interface com.oracle.truffle.api.frame.Frameprivate void setBooleanUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, boolean value)
public float getFloat(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getFloat in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate float getFloatUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setFloat(com.oracle.truffle.api.frame.FrameSlot slot, float value)
setFloat in interface com.oracle.truffle.api.frame.Frameprivate void setFloatUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, float value)
public long getLong(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getLong in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate long getLongUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setLong(com.oracle.truffle.api.frame.FrameSlot slot, long value)
setLong in interface com.oracle.truffle.api.frame.Frameprivate void setLongUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, long value)
public int getInt(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getInt in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate int getIntUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setInt(com.oracle.truffle.api.frame.FrameSlot slot, int value)
setInt in interface com.oracle.truffle.api.frame.Frameprivate void setIntUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, int value)
public double getDouble(com.oracle.truffle.api.frame.FrameSlot slot) throws com.oracle.truffle.api.frame.FrameSlotTypeException
getDouble in interface com.oracle.truffle.api.frame.Framecom.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate double getDoubleUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot)
public void setDouble(com.oracle.truffle.api.frame.FrameSlot slot, double value)
setDouble in interface com.oracle.truffle.api.frame.Frameprivate void setDoubleUnsafe(int slotIndex, com.oracle.truffle.api.frame.FrameSlot slot, double value)
public com.oracle.truffle.api.frame.FrameDescriptor getFrameDescriptor()
getFrameDescriptor in interface com.oracle.truffle.api.frame.Frameprivate void verifySet(int slotIndex, byte tag)
private void verifyGet(int slotIndex, byte tag) throws com.oracle.truffle.api.frame.FrameSlotTypeException
com.oracle.truffle.api.frame.FrameSlotTypeExceptionprivate void checkSlotIndex(int slotIndex)
private static long getPrimitiveOffset(int slotIndex)
public Object getValue(com.oracle.truffle.api.frame.FrameSlot slot)
getValue in interface com.oracle.truffle.api.frame.Frameprivate boolean resize()
private byte getTag(com.oracle.truffle.api.frame.FrameSlot slot)
public boolean isObject(com.oracle.truffle.api.frame.FrameSlot slot)
isObject in interface com.oracle.truffle.api.frame.Framepublic boolean isByte(com.oracle.truffle.api.frame.FrameSlot slot)
isByte in interface com.oracle.truffle.api.frame.Framepublic boolean isBoolean(com.oracle.truffle.api.frame.FrameSlot slot)
isBoolean in interface com.oracle.truffle.api.frame.Framepublic boolean isInt(com.oracle.truffle.api.frame.FrameSlot slot)
isInt in interface com.oracle.truffle.api.frame.Framepublic boolean isLong(com.oracle.truffle.api.frame.FrameSlot slot)
isLong in interface com.oracle.truffle.api.frame.Framepublic boolean isFloat(com.oracle.truffle.api.frame.FrameSlot slot)
isFloat in interface com.oracle.truffle.api.frame.Framepublic boolean isDouble(com.oracle.truffle.api.frame.FrameSlot slot)
isDouble in interface com.oracle.truffle.api.frame.Framestatic <T> T unsafeCast(Object value, Class<T> type, boolean condition, boolean nonNull)
static int unsafeGetInt(Object receiver, long offset, boolean condition, Object locationIdentity)
static long unsafeGetLong(Object receiver, long offset, boolean condition, Object locationIdentity)
static float unsafeGetFloat(Object receiver, long offset, boolean condition, Object locationIdentity)
static double unsafeGetDouble(Object receiver, long offset, boolean condition, Object locationIdentity)
static Object unsafeGetObject(Object receiver, long offset, boolean condition, Object locationIdentity)
static void unsafePutInt(Object receiver, long offset, int value, Object locationIdentity)
static void unsafePutLong(Object receiver, long offset, long value, Object locationIdentity)
static void unsafePutFloat(Object receiver, long offset, float value, Object locationIdentity)
static void unsafePutDouble(Object receiver, long offset, double value, Object locationIdentity)
static void unsafePutObject(Object receiver, long offset, Object value, Object locationIdentity)
private static sun.misc.Unsafe getUnsafe()