org.jikesrvm.compilers.opt.ir.operand
Class BranchProfileOperand

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ir.operand.Operand
      extended by org.jikesrvm.compilers.opt.ir.operand.BranchProfileOperand

public final class BranchProfileOperand
extends Operand

See Also:
Operand

Field Summary
static float ALWAYS
           
static float LIKELY
           
static float NEVER
           
 float takenProbability
           
static float UNLIKELY
           
 
Fields inherited from class org.jikesrvm.compilers.opt.ir.operand.Operand
instruction
 
Constructor Summary
BranchProfileOperand()
           
BranchProfileOperand(float takenProbability)
           
 
Method Summary
static BranchProfileOperand always()
           
 Operand copy()
          Returns a copy of this branch operand.
 BranchProfileOperand flip()
          Flip the probability (p = 1 - p)
static BranchProfileOperand likely()
           
static BranchProfileOperand never()
           
 boolean similar(Operand op)
          Are two operands semantically equivalent?
 String toString()
          Returns the string representation of this operand.
static BranchProfileOperand unlikely()
           
 
Methods inherited from class org.jikesrvm.compilers.opt.ir.operand.Operand
asAddressConstant, asBlock, asBranch, asClassConstant, asCondition, asDoubleConstant, asFloatConstant, asIntConstant, asLocation, asLongConstant, asMemory, asMethod, asNullConstant, asObjectConstant, asRegister, asStackLocation, asStringConstant, asTIBConstant, asType, conservativelyApproximates, getIndexInInstruction, getType, isAddress, isAddressConstant, isBlock, isBranch, isClassConstant, isConstant, isDefinitelyNull, isDouble, isDoubleConstant, isFloat, isFloatConstant, isInt, isIntConstant, isIntLike, isLocation, isLong, isLongConstant, isMemory, isMethod, isMovableObjectConstant, isNullConstant, isObjectConstant, isRef, isRegister, isStackLocation, isStringConstant, isTIBConstant, isTrueGuard, isType, meet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

takenProbability

public float takenProbability

ALWAYS

public static final float ALWAYS
See Also:
Constant Field Values

LIKELY

public static final float LIKELY
See Also:
Constant Field Values

UNLIKELY

public static final float UNLIKELY
See Also:
Constant Field Values

NEVER

public static final float NEVER
See Also:
Constant Field Values
Constructor Detail

BranchProfileOperand

public BranchProfileOperand(float takenProbability)

BranchProfileOperand

public BranchProfileOperand()
Method Detail

always

public static BranchProfileOperand always()

likely

public static BranchProfileOperand likely()

unlikely

public static BranchProfileOperand unlikely()

never

public static BranchProfileOperand never()

copy

public Operand copy()
Returns a copy of this branch operand.

Specified by:
copy in class Operand
Returns:
a copy of this operand

flip

public BranchProfileOperand flip()
Flip the probability (p = 1 - p)


similar

public boolean similar(Operand op)
Description copied from class: Operand
Are two operands semantically equivalent?

Specified by:
similar in class Operand
Parameters:
op - other operand
Returns:
true if this and op are semantically equivalent or false if they are not.

toString

public String toString()
Returns the string representation of this operand.

Overrides:
toString in class Object
Returns:
a string representation of this operand.