org.jikesrvm.compilers.opt.ssa
Class IndexPropagationSystem.UpdateUseArrayOperator

java.lang.Object
  extended by org.jikesrvm.compilers.opt.dfsolver.DF_Operator
      extended by org.jikesrvm.compilers.opt.ssa.IndexPropagationSystem.UpdateUseArrayOperator
Enclosing class:
IndexPropagationSystem

static class IndexPropagationSystem.UpdateUseArrayOperator
extends DF_Operator

Represents an UPDATE_USE function over two ArrayCells.

Given two value numbers v1, v2, this function updates a heap variable lattice cell to indicate that element at array v1 index v2 is available, and doesn't kill any available indices


Field Summary
private  ValueNumberPair v
          The value number pair used in the dataflow equation.
 
Constructor Summary
IndexPropagationSystem.UpdateUseArrayOperator(int v1, int v2)
          Create an operator with a given value number pair
 
Method Summary
 boolean evaluate(DF_LatticeCell[] operands)
          Evaluate the dataflow equation with this operator.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

v

private final ValueNumberPair v
The value number pair used in the dataflow equation.

Constructor Detail

IndexPropagationSystem.UpdateUseArrayOperator

IndexPropagationSystem.UpdateUseArrayOperator(int v1,
                                              int v2)
Create an operator with a given value number pair

Parameters:
v1 - first value number in the pair
v2 - second value number in the pair
Method Detail

toString

public String toString()
Overrides:
toString in class Object
Returns:
"UPDATE-USE"

evaluate

public boolean evaluate(DF_LatticeCell[] operands)
Evaluate the dataflow equation with this operator.

Specified by:
evaluate in class DF_Operator
Parameters:
operands - operands in the dataflow equation
Returns:
true iff the lhs changes from this evaluation