Package jminusminus
Class NLIRConditionalJump
java.lang.Object
jminusminus.NLIRInstruction
jminusminus.NLIRConditionalJump
LIR instruction representing an conditional jump instructions in JVM.
-
Field Summary
Fields inherited from class jminusminus.NLIRInstruction
block, id, lirMnemonic, reads, write
-
Constructor Summary
ConstructorDescriptionNLIRConditionalJump
(NBasicBlock block, int id, NLIRInstruction lhs, NLIRInstruction rhs, int opcode, NBasicBlock onTrueDestination, NBasicBlock onFalseDestination) Constructs an NLIRConditionalJump object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Replace references to virtual registers in this LIR instruction with references to physical registers.void
toSpim
(PrintWriter out) Translates this LIR instruction into SPIM and writes it out to the specified output stream.toString()
Returns a string representation of this instruction.
-
Constructor Details
-
NLIRConditionalJump
public NLIRConditionalJump(NBasicBlock block, int id, NLIRInstruction lhs, NLIRInstruction rhs, int opcode, NBasicBlock onTrueDestination, NBasicBlock onFalseDestination) Constructs an NLIRConditionalJump object.- Parameters:
block
- enclosing block.id
- identifier of the instruction.lhs
- lhs LIR.rhs
- rhs LIR.opcode
- opcode in the test.onTrueDestination
- block to jump to on true.onFalseDestination
- block to jump to on false.
-
-
Method Details
-
allocatePhysicalRegisters
public void allocatePhysicalRegisters()Replace references to virtual registers in this LIR instruction with references to physical registers.- Overrides:
allocatePhysicalRegisters
in classNLIRInstruction
-
toSpim
Translates this LIR instruction into SPIM and writes it out to the specified output stream.- Overrides:
toSpim
in classNLIRInstruction
- Parameters:
out
- output stream for SPIM code.
-
toString
Returns a string representation of this instruction.- Overrides:
toString
in classNLIRInstruction
- Returns:
- a string representation of this instruction.
-