public final class StackSlot extends StackSlotValue
Value.IllegalValue
Modifier and Type | Field and Description |
---|---|
private boolean |
addFrameSize |
private int |
offset |
NONE
ILLEGAL
Modifier | Constructor and Description |
---|---|
private |
StackSlot(LIRKind kind,
int offset,
boolean addFrameSize)
Private constructor to enforce use of
get(LIRKind, int, boolean) so that a cache can
be used. |
Modifier and Type | Method and Description |
---|---|
StackSlot |
asInArg()
Gets this stack slot used to pass an argument from the perspective of a callee.
|
StackSlot |
asOutArg()
Gets this stack slot used to pass an argument from the perspective of a caller.
|
boolean |
equals(Object obj) |
static StackSlot |
get(LIRKind kind,
int offset,
boolean addFrameSize)
Gets a
StackSlot instance representing a stack slot at a given index holding a value
of a given kind. |
int |
getOffset(int totalFrameSize)
Gets the offset of this stack slot, relative to the stack pointer.
|
boolean |
getRawAddFrameSize() |
int |
getRawOffset() |
int |
hashCode() |
boolean |
isInCallerFrame() |
String |
toString() |
getKind, getKindSuffix, getLIRKind, getPlatformKind, identityEquals
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getKind
identityEquals
private final int offset
private final boolean addFrameSize
private StackSlot(LIRKind kind, int offset, boolean addFrameSize)
get(LIRKind, int, boolean)
so that a cache can
be used.public static StackSlot get(LIRKind kind, int offset, boolean addFrameSize)
StackSlot
instance representing a stack slot at a given index holding a value
of a given kind.kind
- The kind of the value stored in the stack slot.offset
- The offset of the stack slot (in bytes)addFrameSize
- Specifies if the offset is relative to the stack pointer, or the
beginning of the frame (stack pointer + total frame size).public int getOffset(int totalFrameSize)
public boolean isInCallerFrame()
public int getRawOffset()
public boolean getRawAddFrameSize()
public StackSlot asOutArg()
public StackSlot asInArg()
public int hashCode()
hashCode
in class AbstractValue
public boolean equals(Object obj)
equals
in class AbstractValue