public final class LIRVerifier extends Object
Modifier and Type | Field and Description |
---|---|
private boolean |
beforeRegisterAllocation |
private BitSet[] |
blockLiveOut |
private AbstractBlockBase<?> |
curBlock |
private Object |
curInstruction |
private BitSet |
curRegistersDefined |
private Value[] |
curRegistersLive |
private BitSet |
curVariablesLive |
private FrameMap |
frameMap |
private LIR |
lir |
private Object[] |
variableDefinitions |
Modifier | Constructor and Description |
---|---|
private |
LIRVerifier(boolean beforeRegisterAllocation,
LIR lir,
FrameMap frameMap) |
Modifier and Type | Method and Description |
---|---|
private static void |
allowed(Object op,
Value value,
LIRInstruction.OperandMode mode,
EnumSet<LIRInstruction.OperandFlag> flags) |
private void |
def(Value value,
LIRInstruction.OperandMode mode,
EnumSet<LIRInstruction.OperandFlag> flags) |
private boolean |
isAllocatableRegister(Value value) |
private BitSet |
liveOutFor(AbstractBlockBase<?> block) |
private int |
maxRegisterNum() |
private void |
setLiveOutFor(AbstractBlockBase<?> block,
BitSet liveOut) |
private void |
use(Value value,
LIRInstruction.OperandMode mode,
EnumSet<LIRInstruction.OperandFlag> flags) |
private void |
verify() |
static boolean |
verify(boolean beforeRegisterAllocation,
LIR lir,
FrameMap frameMap) |
static boolean |
verify(LIRInstruction op) |
private final boolean beforeRegisterAllocation
private final BitSet[] blockLiveOut
private final Object[] variableDefinitions
private BitSet curVariablesLive
private Value[] curRegistersLive
private AbstractBlockBase<?> curBlock
private Object curInstruction
private BitSet curRegistersDefined
private LIRVerifier(boolean beforeRegisterAllocation, LIR lir, FrameMap frameMap)
private BitSet liveOutFor(AbstractBlockBase<?> block)
private void setLiveOutFor(AbstractBlockBase<?> block, BitSet liveOut)
private int maxRegisterNum()
private boolean isAllocatableRegister(Value value)
public static boolean verify(LIRInstruction op)
private void verify()
private void use(Value value, LIRInstruction.OperandMode mode, EnumSet<LIRInstruction.OperandFlag> flags)
private void def(Value value, LIRInstruction.OperandMode mode, EnumSet<LIRInstruction.OperandFlag> flags)
private static void allowed(Object op, Value value, LIRInstruction.OperandMode mode, EnumSet<LIRInstruction.OperandFlag> flags)