org.jruby.compiler.ir.instructions
Class TwoOperandInstr

java.lang.Object
  extended by org.jruby.compiler.ir.instructions.Instr
      extended by org.jruby.compiler.ir.instructions.TwoOperandInstr
Direct Known Subclasses:
ALU_Instr, BranchInstr, DefineClassInstr, EQQInstr

public abstract class TwoOperandInstr
extends Instr


Field Summary
 
Fields inherited from class org.jruby.compiler.ir.instructions.Instr
operation, result
 
Constructor Summary
TwoOperandInstr(Operation op, Variable destination, Operand a1, Operand a2)
           
 
Method Summary
 Operand getOperand1()
           
 Operand getOperand2()
           
 Operand[] getOperands()
           
 void simplifyOperands(java.util.Map<Operand,Operand> valueMap)
          This method takes as input a map of operands to their values, and outputs If the value map provides a value for any of the instruction's operands this method is expected to replace the original operands with the simplified values.
 java.lang.String toString()
           
 
Methods inherited from class org.jruby.compiler.ir.instructions.Instr
canRaiseException, cloneForInlining, getOperation, getResult, getUsedVariables, hasSideEffects, interpret, isDead, markDead, simplifyAndGetResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TwoOperandInstr

public TwoOperandInstr(Operation op,
                       Variable destination,
                       Operand a1,
                       Operand a2)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class Instr

getOperands

public Operand[] getOperands()
Specified by:
getOperands in class Instr

getOperand1

public Operand getOperand1()

getOperand2

public Operand getOperand2()

simplifyOperands

public void simplifyOperands(java.util.Map<Operand,Operand> valueMap)
Description copied from class: Instr
This method takes as input a map of operands to their values, and outputs If the value map provides a value for any of the instruction's operands this method is expected to replace the original operands with the simplified values. It is not required that it do so -- code correctness is not compromised by failure to simplify

Specified by:
simplifyOperands in class Instr


Copyright © 2002-2009 JRuby Team. All Rights Reserved.