public class LIRFrameState extends Object
| Modifier and Type | Field and Description |
|---|---|
protected DebugInfo |
debugInfo |
LabelRef |
exceptionEdge |
static LIRFrameState |
NO_CALLEE_SAVE_INFO |
protected static EnumSet<LIRInstruction.OperandFlag> |
STATE_FLAGS
We filter out constant and illegal values ourself before calling the procedure, so
LIRInstruction.OperandFlag.CONST and LIRInstruction.OperandFlag.ILLEGAL need not be set. |
BytecodeFrame |
topFrame |
| Constructor and Description |
|---|
LIRFrameState(BytecodeFrame topFrame,
VirtualObject[] virtualObjects,
LabelRef exceptionEdge) |
| Modifier and Type | Method and Description |
|---|---|
DebugInfo |
debugInfo() |
void |
forEachState(LIRInstruction inst,
InstructionValueProcedure proc)
Iterates the frame state and calls the
InstructionValueProcedure for every variable. |
IndexedValueMap |
getLiveBasePointers() |
boolean |
hasDebugInfo() |
void |
initDebugInfo(FrameMap frameMap,
boolean canHaveRegisters)
Called by the register allocator to initialize the frame state.
|
protected void |
processValues(LIRInstruction inst,
JavaValue[] values,
InstructionValueProcedure proc) |
void |
setLiveBasePointers(IndexedValueMap liveBasePointers) |
String |
toString() |
void |
visitEachState(LIRInstruction inst,
InstructionValueConsumer proc)
Iterates the frame state and calls the
InstructionValueConsumer for every variable. |
protected void |
visitValues(LIRInstruction inst,
JavaValue[] values,
InstructionValueConsumer proc) |
public static final LIRFrameState NO_CALLEE_SAVE_INFO
public final BytecodeFrame topFrame
public final LabelRef exceptionEdge
protected DebugInfo debugInfo
protected static final EnumSet<LIRInstruction.OperandFlag> STATE_FLAGS
LIRInstruction.OperandFlag.CONST and LIRInstruction.OperandFlag.ILLEGAL need not be set.public LIRFrameState(BytecodeFrame topFrame,
VirtualObject[] virtualObjects,
LabelRef exceptionEdge)
public boolean hasDebugInfo()
public DebugInfo debugInfo()
public void forEachState(LIRInstruction inst, InstructionValueProcedure proc)
InstructionValueProcedure for every variable.proc - The procedure called for variables.public void visitEachState(LIRInstruction inst, InstructionValueConsumer proc)
InstructionValueConsumer for every variable.proc - The procedure called for variables.protected void processValues(LIRInstruction inst, JavaValue[] values, InstructionValueProcedure proc)
protected void visitValues(LIRInstruction inst, JavaValue[] values, InstructionValueConsumer proc)
public void initDebugInfo(FrameMap frameMap, boolean canHaveRegisters)
frameMap - The frame map.canHaveRegisters - True if there can be any register map entries.public IndexedValueMap getLiveBasePointers()
public void setLiveBasePointers(IndexedValueMap liveBasePointers)