public final class StackSlot extends StackSlotValue
Modifier and Type | Field and Description |
---|---|
private boolean |
addFrameSize |
private int |
offset |
Modifier | Constructor and Description |
---|---|
private |
StackSlot(jdk.internal.jvmci.meta.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(jdk.internal.jvmci.meta.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
private final int offset
private final boolean addFrameSize
private StackSlot(jdk.internal.jvmci.meta.LIRKind kind, int offset, boolean addFrameSize)
get(LIRKind, int, boolean)
so that a cache can
be used.public static StackSlot get(jdk.internal.jvmci.meta.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 jdk.internal.jvmci.meta.AbstractValue