coins.aflow
Class AssignHashBasedFlowExpId

java.lang.Object
  extended bycoins.aflow.AssignHashBasedFlowExpId
All Implemented Interfaces:
AssignFlowExpId
Direct Known Subclasses:
AssignHashBasedFlowExpIdHir

public abstract class AssignHashBasedFlowExpId
extends java.lang.Object
implements AssignFlowExpId


Field Summary
static int EXP_ID_HASH_SIZE
           
(package private)  HashBasedFlowExpId[] fFlowExpIdHashtable
           
(package private)  FAList fFlowExpIdTable
           
 FlowRoot flowRoot
           
protected  FlowResults fResults
           
(package private)  SubpFlow fSubpFlow
           
 IoRoot ioRoot
           
 
Constructor Summary
AssignHashBasedFlowExpId(SubpFlow pSubpFlow)
           
 
Method Summary
 void assign()
          Assigns FlowExpIds to nodes over SubpFlow.
(package private)  void assignForBBlock(BBlock pBBlock)
           
(package private)  void assignForSetRefRepr(SetRefRepr pSetRefRepr)
           
 FlowExpId assignToNode(IR pIR)
          Assigns a FlowExpId to the node pIR.
(package private) abstract  HashBasedFlowExpId newHashBasedFlowExpId(IR pIR, int pIndex, SubpFlow pSubpFlow)
           
static boolean shouldAssignFlowExpId(IR pIR)
          Returns true if the given node should be assigned a FlowExpId.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXP_ID_HASH_SIZE

public static final int EXP_ID_HASH_SIZE
See Also:
Constant Field Values

fFlowExpIdHashtable

final HashBasedFlowExpId[] fFlowExpIdHashtable

fFlowExpIdTable

FAList fFlowExpIdTable

fSubpFlow

SubpFlow fSubpFlow

flowRoot

public final FlowRoot flowRoot

ioRoot

public final IoRoot ioRoot

fResults

protected final FlowResults fResults
Constructor Detail

AssignHashBasedFlowExpId

public AssignHashBasedFlowExpId(SubpFlow pSubpFlow)
Method Detail

assign

public void assign()
Assigns FlowExpIds to nodes over SubpFlow.

Specified by:
assign in interface AssignFlowExpId

assignForBBlock

void assignForBBlock(BBlock pBBlock)

assignForSetRefRepr

void assignForSetRefRepr(SetRefRepr pSetRefRepr)

assignToNode

public FlowExpId assignToNode(IR pIR)
Description copied from interface: AssignFlowExpId
Assigns a FlowExpId to the node pIR.

Specified by:
assignToNode in interface AssignFlowExpId
Returns:
the assigned FlowExpId.

newHashBasedFlowExpId

abstract HashBasedFlowExpId newHashBasedFlowExpId(IR pIR,
                                                  int pIndex,
                                                  SubpFlow pSubpFlow)

shouldAssignFlowExpId

public static boolean shouldAssignFlowExpId(IR pIR)
Returns true if the given node should be assigned a FlowExpId.