coins.flow
クラス DataFlowImpl

java.lang.Object
  |
  +--coins.flow.DataFlowImpl
すべての実装インタフェース:
DataFlow
直系の既知のサブクラス:
DataFlowHirImpl

public class DataFlowImpl
extends java.lang.Object
implements DataFlow

Implementation of the DataFlow interface. There are some dependencies between the methods in this class. For example, findReach() mustn't be called before both findDef() and findKill() have been called, and findKill() in turn depends on the result of findDefined(). Access restrictions (or the like) that reflect these dependencies are not yet implemented. Please be careful in using. findAll() method calls these methods in the correct order.


フィールドの概要
protected  DefVector DEF_INVERTED
           
protected  DefVector DEF_ZERO
           
protected  ExpVector EXP_INVERTED
           
protected  ExpVector EXP_ZERO
           
 int fDbgFlow
           
protected  int fDefCount
           
protected  int[] fDefNodeIndexTable
           
protected  FlowAnalSym[] fFlowAnalSymTable
           
 Flow flow
           
 FlowRoot flowRoot
           
protected  RecordAlias fRecordAlias
           
protected  ShowDataFlow fShowDataFlow
           
protected  SubpFlow fSubpFlow
           
protected  java.util.Set[] fUndefinedUseNodesOfSym
           
 HirRoot hirRoot
           
 IoRoot ioRoot
           
 ShowDataFlowByName showDataFlowByName
           
 SymRoot symRoot
           
 
コンストラクタの概要
DataFlowImpl()
           
DataFlowImpl(FlowRoot pFlowRoot, SubpFlow pSubpFlow)
          Constructs a DataFlow instance and prepares for DFA.
 
メソッドの概要
protected  void addEGenExpId(java.util.Set pEGenSet, java.util.Set pEKillSet, SetRefRepr pSetRefRepr)
          addEGenExpId EGen computation by using ExpId.
protected  void allocateSpace()
          allocateSpace Allocates space to store BitVector instances for the entire flow.
protected  java.util.Set callModSyms(IR pCallNode, SubpFlow pCurrentSubpFlow)
           
 void clean()
          Cleans the environment that may contain junk information for the current DFA.
 int defLookup(int pNodeIndex)
          Changes the IR node index into the "Def" index.
 int defReverseLookup(int pBitPosition)
          Changes the "Def" index into the IR node index.
 int expLookup(int pExpIdIndex)
          Changes the ExpId index into the position in the ExpVector.
 int expReverseLookup(int pBitPosition)
          Changes the position in the ExpVector into the ExpId index.
 void findAll()
          Finds and sets all the data flow information.
 void findAllBitVectors()
          Finds and sets all the BitVectors, that is, Def, Kill, In, Out, Reach, Defined, Exposed, EGen, EKill, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors.
 void findAvailInAvailOut()
          Finds and sets the AvailIn and AvailOut vectors from the EGen and EKill vectors using the data flow equations.
 void findBasic()
          Finds and sets the data flow items that are independent of the control flow, that is, Def, Kill, Defined, Exposed, EGen, and EKill vectors.
 void findDef()
          Finds and sets the Def vectors for the entire flow.
 void findDef(BBlock pBBlock)
          Finds and sets the Def vector for the given BBlock.
 void findDefInDefOut()
          Finds and sets the DefIn and DefOut vectors from the Defined vectors using the data flow equations.
 void findDefined()
          Finds and sets the Defined vectors for the entire flow.
 void findDefined(BBlock pBBlock)
          Finds and sets the Defined vector for the given BBlock.
 void findDefUse()
          Finds and sets the DefUseList for each FlowAnalSym without considering side effects of call and alias.
 void findDefUseExhaustively()
          Finds and sets the DefUseList for each FlowAnalSym considering side effects of call and alias.
 void findEGen()
          Finds and sets the EGen vectors for the entire flow.
 void findEGen(BBlock pBBlock)
          Finds and sets the EGen vector for the given BBlock.
 void findEKill()
          Finds and sets the EKill vectors for the entire flow.
 void findEKill(BBlock pBBlock)
          Finds and sets the EGen vector for the given BBlock.
 void findExposed()
          Finds and sets the Exposed vectors for the entire flow.
 void findExposed(BBlock pBBlock)
          Finds and sets the Exposed vector for the given BBlock.
 void findKill()
          Finds and sets the Kill vectors for the entire flow.
 void findKill(BBlock pBBlock)
          Finds and sets the Kill vector for the given BBlock using the Defined vector for that BBlock.
 void findLiveInLiveOut()
          Finds and sets the LiveIn and LiveOut vectors from the Exposed and Defined vectors using the data flow equations.
 void findReach()
          Finds and sets the Reach vectors from the Def and Kill vectors using the data flow equations.
 void findUsed()
          Finds and sets the Used vectors for the entire flow.
 void findUsed(BBlock pBBlock)
          Finds and sets the Used vector for the given BBlock.
 void findUseDef()
          Find UseDef relations and DefUse relations without considering side effects of call and alias.
protected  void findUseDef(BBlock pBBlock, boolean pExhaustive)
          findUseDef Compute both DefUse relations and UseDef relations for pBBlock.
 void findUseDefExhaustively()
          Find UseDef relations and DefUse relations considering side effects of call and alias.
 java.util.List getBBlockList()
          Returns the List of BBlocks in the flow.
 int getDefCount()
          getDefCount
 int getDefIndex(int NodeIndex)
          getDefIndex
 int getDefNodeIndex(int pDefSetRefReprNo)
          getNodeIndex
 FlowAnalSym getFlowAnalSym(int ExpIndex)
          getExpId
 int getFlowAnalSymCount()
          // getExpIdCount getFlowAnalSymCount
 IR getNode(int pNodeIndex)
          getNode(int) Returns the node that has the given index.
 IR getNodeFromDefIndex(int pDefIndex)
          Returns the IR node that corresponds to the given DefSetRefRepr index (entry of the DefVector).
 int getPointCount()
          getPointCount
 java.util.Set getUndefinedUseNodeOfSym(FlowAnalSym lSym)
           
 java.util.Set getUseFlowAnalSyms(FlowAnalSym pFlowAnalSym)
          Returns the Set of ExpIds that are contained in the given ExpId and are used.
 java.util.Set getUseFlowAnalSyms(IR pSubtree)
          !!
 java.util.Set getUseFlowAnalSymsForHir(HIR pSubtree)
           
protected  void handleCall(IR pCallNode, SubpFlow pSubpFlow, java.util.Set pDDefSyms, ListValuedMap pSymToPDefNode)
          findUseDefObsolete Compute both DefUse relations and UseDef relations for pBBlock.
protected  void initiateDataFlow()
           
protected  void recordExpId()
          allocateExpId Creates a table that retrieves ExpId from its index value.
(パッケージプライベート)  void recordSetRefReprs()
          Records the SetRefReprs each BBlock contains.
 void showAll()
          Shows all the information found in this DFA.
 void showAllBitVectors()
          Shows all the BitVectors.
 void showAvailIn()
          Shows the AvailIn vector for every BBlock.
 void showAvailInAvailOutRelated()
          Shows BitVectors related to (needed to solve) AvailIn/AvailOut vectors, that is, EGen, EKill, AvailIn, and AvailOut vectors.
 void showAvailOut()
          Shows the AvailOut vector for every BBlock.
 void showBasic()
          Shows all the data flow items that are independent of the control flow, that is, Def, Kill, Defined, Exposed, EGen, and EKill vectors.
 void showDef()
          Shows the Def vector for every BBlock.
 void showDefIn()
          Shows the DefIn vector for every BBlock.
 void showDefInDefOutRelated()
          Shows BitVectors related to (needed to solve) DefIn/DefOut vectors, that is, Defined, DefIn, and DefOut vectors.
 void showDefined()
          Shows the Defined vector for every BBlock.
 void showDefOut()
          Shows the DefOut vector for every BBlock.
 void showDefUse()
          Shows the DefUseList for each FlowAnalSym.
 void showDefVectors()
          Shows all the DefVectors for all the BBlocks.
 void showEGen()
          Shows the EGen vector for every BBlock.
 void showEKill()
          Shows the EKill vector for every BBlock.
 void showExposed()
          Shows the Exposed vector for every BBlock.
 void showExpVectors()
          Shows all the ExpVectors for all the BBlocks.
 void showKill()
          Shows the Kill vector for every BBlock.
 void showLiveIn()
          Shows the LiveIn vector for every BBlock.
 void showLiveInLiveOutRelated()
          Shows BitVectors related to (needed to solve) LiveIn/LiveOut vectors, that is, Exposed, Defined, LiveIn, and LiveOut vectors.
 void showLiveOut()
          Shows the LiveOut vector for every BBlock.
 void showReach()
          Shows the Reach vector for every BBlock.
 void showReachRelated()
          Shows BitVectors related to (needed to solve) Reach vectors, that is, Def, Kill, and Reach vectors.
 void showSolved()
          Shows all the data flow items data flow equations have found, that is, In, Out, Reach, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors.
 void showSummary()
          Show summary of data flow information.
 void showUseDef()
          Shows the UseDefList for each FlowAnalSym.
(パッケージプライベート)  void showVector(BitVector pBitVector)
          Shows the given BitVector.
(パッケージプライベート)  void showVector(BitVector pBitVector, java.lang.String pComment)
          Shows the given BitVector w/ a comment(heading).
 void solveAll()
          Solves all the data flow equations to find In, Out, Reach, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors.
(パッケージプライベート)  ExpVector toExpVector(java.util.Set pSymbolSet)
          toExpVector Converts the given Set of symbols to an ExpVector where each bit of the vector corresponds to an element in the Set set.
(パッケージプライベート)  java.util.Set toSet(ExpVector pExpVector)
          Converts the given ExpVector to a Set that has elements that correspond to the set bits of the ExpVector.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

flowRoot

public final FlowRoot flowRoot

ioRoot

public final IoRoot ioRoot

symRoot

public final SymRoot symRoot

hirRoot

public final HirRoot hirRoot

flow

public final Flow flow

showDataFlowByName

public ShowDataFlowByName showDataFlowByName

fSubpFlow

protected SubpFlow fSubpFlow

fShowDataFlow

protected ShowDataFlow fShowDataFlow

fDefCount

protected int fDefCount

DEF_ZERO

protected DefVector DEF_ZERO

DEF_INVERTED

protected DefVector DEF_INVERTED

EXP_ZERO

protected ExpVector EXP_ZERO

EXP_INVERTED

protected ExpVector EXP_INVERTED

fDefNodeIndexTable

protected int[] fDefNodeIndexTable

fFlowAnalSymTable

protected FlowAnalSym[] fFlowAnalSymTable

fUndefinedUseNodesOfSym

protected java.util.Set[] fUndefinedUseNodesOfSym

fRecordAlias

protected RecordAlias fRecordAlias

fDbgFlow

public final int fDbgFlow
コンストラクタの詳細

DataFlowImpl

public DataFlowImpl(FlowRoot pFlowRoot,
                    SubpFlow pSubpFlow)
Constructs a DataFlow instance and prepares for DFA.


DataFlowImpl

public DataFlowImpl()
メソッドの詳細

initiateDataFlow

protected void initiateDataFlow()

recordSetRefReprs

void recordSetRefReprs()
Records the SetRefReprs each BBlock contains. This is moved to HirSubpFlowImpl. //##63


getBBlockList

public java.util.List getBBlockList()
Returns the List of BBlocks in the flow. (Exclude null and 0-numbered BBlock)

定義:
インタフェース DataFlow 内の getBBlockList
戻り値:
the List of BBlocks in the flow.

recordExpId

protected void recordExpId()
allocateExpId Creates a table that retrieves ExpId from its index value.


getDefCount

public int getDefCount()
getDefCount

定義:
インタフェース DataFlow 内の getDefCount
戻り値:
the # of value-setting SetRefReprs.

getFlowAnalSymCount

public int getFlowAnalSymCount()
// getExpIdCount getFlowAnalSymCount

定義:
インタフェース DataFlow 内の getFlowAnalSymCount
戻り値:
the # of FlowAnalSyms generated in this flow.

getPointCount

public int getPointCount()
getPointCount

定義:
インタフェース DataFlow 内の getPointCount
戻り値:
the # of "Points" in this flow.

getFlowAnalSym

public FlowAnalSym getFlowAnalSym(int ExpIndex)
getExpId

定義:
インタフェース DataFlow 内の getFlowAnalSym
戻り値:
the ExpId that has the given index.

getDefIndex

public int getDefIndex(int NodeIndex)
getDefIndex

定義:
インタフェース DataFlow 内の getDefIndex
戻り値:
the DefSetRefRepr index (SetRefRepr no. that is assigned to value-setting SetRefReprs) of the node that has the given IR index.

getDefNodeIndex

public int getDefNodeIndex(int pDefSetRefReprNo)
getNodeIndex

定義:
インタフェース DataFlow 内の getDefNodeIndex
パラメータ:
pDefSetRefReprNo - index of value-setting SetRefRepr.
戻り値:
the node index corresponding to the given "DefSetRefReprNo".

getNode

public IR getNode(int pNodeIndex)
getNode(int) Returns the node that has the given index.

定義:
インタフェース DataFlow 内の getNode
パラメータ:
pNodeIndex - index of the node to be gotten.
戻り値:
the node that has the given index.

getNodeFromDefIndex

public IR getNodeFromDefIndex(int pDefIndex)
Returns the IR node that corresponds to the given DefSetRefRepr index (entry of the DefVector).

定義:
インタフェース DataFlow 内の getNodeFromDefIndex
戻り値:
the IR node that corresponds to the given DefSetRefRepr index (entry of the DefVector).

allocateSpace

protected void allocateSpace()
allocateSpace Allocates space to store BitVector instances for the entire flow.


findDef

public void findDef()
Finds and sets the Def vectors for the entire flow.

定義:
インタフェース DataFlow 内の findDef

findDef

public void findDef(BBlock pBBlock)
Finds and sets the Def vector for the given BBlock.

定義:
インタフェース DataFlow 内の findDef
パラメータ:
pBBlock - BBlock whose Def vector to find.

findKill

public void findKill()
Finds and sets the Kill vectors for the entire flow. See #findDefined()

定義:
インタフェース DataFlow 内の findKill

findKill

public void findKill(BBlock pBBlock)
Finds and sets the Kill vector for the given BBlock using the Defined vector for that BBlock.

定義:
インタフェース DataFlow 内の findKill
パラメータ:
pBBlock - BBlock whose Kill vector to find. See #findDefined()

findDefined

public void findDefined()
Finds and sets the Defined vectors for the entire flow.

定義:
インタフェース DataFlow 内の findDefined

findDefined

public void findDefined(BBlock pBBlock)
Finds and sets the Defined vector for the given BBlock.

定義:
インタフェース DataFlow 内の findDefined
パラメータ:
pBBlock - BBlock whose Defined vector to find.

findUsed

public void findUsed()
Finds and sets the Used vectors for the entire flow.

定義:
インタフェース DataFlow 内の findUsed

findUsed

public void findUsed(BBlock pBBlock)
Finds and sets the Used vector for the given BBlock.

定義:
インタフェース DataFlow 内の findUsed
パラメータ:
pBBlock - BBlock whose Used vector to find.

findExposed

public void findExposed()
Finds and sets the Exposed vectors for the entire flow.

定義:
インタフェース DataFlow 内の findExposed

findExposed

public void findExposed(BBlock pBBlock)
Finds and sets the Exposed vector for the given BBlock.

定義:
インタフェース DataFlow 内の findExposed
パラメータ:
pBBlock - BBlock whose Exposed vector to find.

findEGen

public void findEGen()
Finds and sets the EGen vectors for the entire flow.

定義:
インタフェース DataFlow 内の findEGen

addEGenExpId

protected void addEGenExpId(java.util.Set pEGenSet,
                            java.util.Set pEKillSet,
                            SetRefRepr pSetRefRepr)
addEGenExpId EGen computation by using ExpId. Result of alias analysis is considered in the computation.

パラメータ:
pEGenSet - accumulated set of EGen ExpIds in the current BBlock.
pEKillSet - accumulated set of EKill ExpIds in the current BBlock.
pSetRefRepr - SetRefRepr of an expression.

findEGen

public void findEGen(BBlock pBBlock)
Finds and sets the EGen vector for the given BBlock.

定義:
インタフェース DataFlow 内の findEGen
パラメータ:
pBBlock - BBlock whose EGen vector to find.

findEKill

public void findEKill()
Finds and sets the EKill vectors for the entire flow.

定義:
インタフェース DataFlow 内の findEKill

findEKill

public void findEKill(BBlock pBBlock)
Finds and sets the EGen vector for the given BBlock.

定義:
インタフェース DataFlow 内の findEKill
パラメータ:
pBBlock - BBlock whose EGen vector to be found.

findReach

public void findReach()
Finds and sets the Reach vectors from the Def and Kill vectors using the data flow equations. Implementation of the algorithm on p.275 Nakada (1999). See #findDef() See #findKill()

定義:
インタフェース DataFlow 内の findReach

findAvailInAvailOut

public void findAvailInAvailOut()
Finds and sets the AvailIn and AvailOut vectors from the EGen and EKill vectors using the data flow equations. Implementation of the algorithm on p. 280, Nakada (1999).

定義:
インタフェース DataFlow 内の findAvailInAvailOut

findLiveInLiveOut

public void findLiveInLiveOut()
Finds and sets the LiveIn and LiveOut vectors from the Exposed and Defined vectors using the data flow equations. See #findExposed() See #findDefined()

定義:
インタフェース DataFlow 内の findLiveInLiveOut

findDefInDefOut

public void findDefInDefOut()
Finds and sets the DefIn and DefOut vectors from the Defined vectors using the data flow equations. See #findDefined()

定義:
インタフェース DataFlow 内の findDefInDefOut

defLookup

public int defLookup(int pNodeIndex)
Changes the IR node index into the "Def" index.

定義:
インタフェース DataFlow 内の defLookup
パラメータ:
pNodeIndex - index of the value-setting node (AssignStmt in HIR).

defReverseLookup

public int defReverseLookup(int pBitPosition)
Changes the "Def" index into the IR node index.

定義:
インタフェース DataFlow 内の defReverseLookup
パラメータ:
pBitPosition - index in the DefVector for which to find the node index.

expLookup

public int expLookup(int pExpIdIndex)
Changes the ExpId index into the position in the ExpVector. Currently does nothing.

定義:
インタフェース DataFlow 内の expLookup
パラメータ:
pExpIdIndex - index of ExpId.

expReverseLookup

public int expReverseLookup(int pBitPosition)
Changes the position in the ExpVector into the ExpId index. Currently does nothing.

定義:
インタフェース DataFlow 内の expReverseLookup
パラメータ:
pBitPosition - position in the ExpVector.

getUseFlowAnalSyms

public java.util.Set getUseFlowAnalSyms(IR pSubtree)
!!HIR Returns the Set of ExpIds that fall under the given subtree and are used. The ExpId that is attached to the "Def node" will not be included if the given subtree is a value-setting node (AssignStmt in HIR). The ExpId that corresponds to the given subtree is also included in the Set. Supports HIR only so far.

定義:
インタフェース DataFlow 内の getUseFlowAnalSyms
パラメータ:
pSubtree - IR node that is the root of the subtree to examine.
戻り値:
the Set of ExpIds that fall under the given subtree and are used.

getUseFlowAnalSymsForHir

public java.util.Set getUseFlowAnalSymsForHir(HIR pSubtree)
定義:
インタフェース DataFlow 内の getUseFlowAnalSymsForHir

getUseFlowAnalSyms

public java.util.Set getUseFlowAnalSyms(FlowAnalSym pFlowAnalSym)
Returns the Set of ExpIds that are contained in the given ExpId and are used. The ExpId that is attached to the "Def node" will not be included if the given ExpId is attached to a value-setting node (AssignStmt in HIR). The given ExpId is also contained in the returned Set.

戻り値:
the Set of ExpIds that are contained and used. See #getUseExpIds()

clean

public void clean()
Cleans the environment that may contain junk information for the current DFA.


findBasic

public void findBasic()
Finds and sets the data flow items that are independent of the control flow, that is, Def, Kill, Defined, Exposed, EGen, and EKill vectors. See #findDef() See #findDefined() See #findKill() See #findExposed() See #findEGen() See #findEKill()

定義:
インタフェース DataFlow 内の findBasic
関連項目:
DataFlow.findDef(), DataFlow.findDefined(), DataFlow.findKill(), DataFlow.findExposed(), DataFlow.findEGen(), DataFlow.findEKill()

solveAll

public void solveAll()
Solves all the data flow equations to find In, Out, Reach, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors. See #findInOut() See #findReach() See #findAvailInAvailOut() See #findLiveInLiveOut() See #findDefInDefOut()

定義:
インタフェース DataFlow 内の solveAll
関連項目:
DataFlow.findReach(), DataFlow.findAvailInAvailOut(), DataFlow.findLiveInLiveOut(), DataFlow.findDefInDefOut()

findAllBitVectors

public void findAllBitVectors()
Finds and sets all the BitVectors, that is, Def, Kill, In, Out, Reach, Defined, Exposed, EGen, EKill, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors. See #findBasic() See #solveAll()

定義:
インタフェース DataFlow 内の findAllBitVectors
関連項目:
DataFlow.findBasic(), DataFlow.solveAll()

findDefUse

public void findDefUse()
Finds and sets the DefUseList for each FlowAnalSym without considering side effects of call and alias.

定義:
インタフェース DataFlow 内の findDefUse

findDefUseExhaustively

public void findDefUseExhaustively()
Finds and sets the DefUseList for each FlowAnalSym considering side effects of call and alias.

定義:
インタフェース DataFlow 内の findDefUseExhaustively

findUseDef

public void findUseDef()
Find UseDef relations and DefUse relations without considering side effects of call and alias.

定義:
インタフェース DataFlow 内の findUseDef

findUseDefExhaustively

public void findUseDefExhaustively()
Find UseDef relations and DefUse relations considering side effects of call and alias.

定義:
インタフェース DataFlow 内の findUseDefExhaustively

findUseDef

protected void findUseDef(BBlock pBBlock,
                          boolean pExhaustive)
findUseDef Compute both DefUse relations and UseDef relations for pBBlock.

パラメータ:
pBBlock -

handleCall

protected void handleCall(IR pCallNode,
                          SubpFlow pSubpFlow,
                          java.util.Set pDDefSyms,
                          ListValuedMap pSymToPDefNode)
findUseDefObsolete Compute both DefUse relations and UseDef relations for pBBlock.


callModSyms

protected java.util.Set callModSyms(IR pCallNode,
                                    SubpFlow pCurrentSubpFlow)

findAll

public void findAll()
Finds and sets all the data flow information. This method consists of findAllBitVectors and findDefUse. See #findAllBitVectors() See #findDefUse()

定義:
インタフェース DataFlow 内の findAll
関連項目:
DataFlow.findAllBitVectors(), DataFlow.findDefUse()

showDef

public void showDef()
Shows the Def vector for every BBlock. See #findDef() See ShowDataFlow#showDef()

定義:
インタフェース DataFlow 内の showDef

showKill

public void showKill()
Shows the Kill vector for every BBlock. See #findKill() See ShowDataFlow#showKill()

定義:
インタフェース DataFlow 内の showKill

showReach

public void showReach()
Shows the Reach vector for every BBlock. See #findReach() See ShowDataFlow#showReach()

定義:
インタフェース DataFlow 内の showReach

showDefined

public void showDefined()
Shows the Defined vector for every BBlock. See #findDefined() See ShowDataFlow#showDefined()

定義:
インタフェース DataFlow 内の showDefined

showExposed

public void showExposed()
Shows the Exposed vector for every BBlock. See #findExposed() See ShowDataFlow#showExposed()

定義:
インタフェース DataFlow 内の showExposed

showEGen

public void showEGen()
Shows the EGen vector for every BBlock. See #findEGen() See ShowDataFlow#showEGen()

定義:
インタフェース DataFlow 内の showEGen

showEKill

public void showEKill()
Shows the EKill vector for every BBlock. See #findEKill() See ShowDataFlow#showEKill()

定義:
インタフェース DataFlow 内の showEKill

showAvailIn

public void showAvailIn()
Shows the AvailIn vector for every BBlock. See #findAvailInAvailOut() See ShowDataFlow#showAvailIn()

定義:
インタフェース DataFlow 内の showAvailIn

showAvailOut

public void showAvailOut()
Shows the AvailOut vector for every BBlock. See #findAvailInAvailOut() See ShowDataFlow#showAvailOut()

定義:
インタフェース DataFlow 内の showAvailOut

showLiveIn

public void showLiveIn()
Shows the LiveIn vector for every BBlock. See #findLiveInLiveOut() See ShowDataFlow#showLiveIn()

定義:
インタフェース DataFlow 内の showLiveIn

showLiveOut

public void showLiveOut()
Shows the LiveOut vector for every BBlock. See #findLiveInLiveOut() See ShowDataFlow#showLiveOut()

定義:
インタフェース DataFlow 内の showLiveOut

showDefIn

public void showDefIn()
Shows the DefIn vector for every BBlock. See #findDefInDefOut() See ShowDataFlow#showDefIn()

定義:
インタフェース DataFlow 内の showDefIn

showDefOut

public void showDefOut()
Shows the DefOut vector for every BBlock. See #findDefInDefOut() See ShowDataFlow#showDefOut()

定義:
インタフェース DataFlow 内の showDefOut

showDefVectors

public void showDefVectors()
Shows all the DefVectors for all the BBlocks. See #showDef() See #showKill() See #showIn() See #showOut() See #showReach() See ShowDataFlow#showDefVectors()

定義:
インタフェース DataFlow 内の showDefVectors
関連項目:
DataFlow.showDef(), //@see #showIn() //@see #showOut(), DataFlow.showReach()

showExpVectors

public void showExpVectors()
Shows all the ExpVectors for all the BBlocks. See #showDefined() See #showExposed() See #showEGen() See #showEKill() See #showAvailIn() See #showAvailOut() See #showLiveIn() See #showLiveOut() See #showDefIn() See #showDefOut() See ShowDataFlow#showExpVectors()

定義:
インタフェース DataFlow 内の showExpVectors
関連項目:
DataFlow.showDefined(), DataFlow.showExposed(), DataFlow.showEGen(), DataFlow.showEKill(), DataFlow.showAvailIn(), DataFlow.showAvailOut(), DataFlow.showLiveIn(), DataFlow.showLiveOut(), DataFlow.showDefIn(), DataFlow.showDefOut()

showBasic

public void showBasic()
Shows all the data flow items that are independent of the control flow, that is, Def, Kill, Defined, Exposed, EGen, and EKill vectors. See #showDef() See #showKill() See #showDefined() See #showExposed() See #showEGen() See #showEKill() See ShowDataFlow#showBasic()

定義:
インタフェース DataFlow 内の showBasic
関連項目:
DataFlow.showDef(), DataFlow.showKill(), DataFlow.showDefined(), DataFlow.showExposed(), DataFlow.showEGen(), DataFlow.showEKill()

showSolved

public void showSolved()
Shows all the data flow items data flow equations have found, that is, In, Out, Reach, AvailIn, AvailOut, LiveIn, LiveOut, DefIn, and DefOut vectors. See #showIn() See #showOut() See #showReach() See #showAvailIn() See #showAvailOut() See #showLiveIn() See #showLiveOut() See #showDefIn() See #showDefOut() See ShowDataFlow#showSolved()

定義:
インタフェース DataFlow 内の showSolved
関連項目:
DataFlow.showReach(), DataFlow.showAvailIn(), DataFlow.showAvailOut(), DataFlow.showLiveIn(), DataFlow.showLiveOut(), DataFlow.showDefIn(), DataFlow.showDefOut()

showReachRelated

public void showReachRelated()
Shows BitVectors related to (needed to solve) Reach vectors, that is, Def, Kill, and Reach vectors. See #showDef() See #showKill() See #showReach() See ShowDataFlow#showReachRelated()

定義:
インタフェース DataFlow 内の showReachRelated
関連項目:
DataFlow.showDef(), DataFlow.showKill(), DataFlow.showReach()

showAvailInAvailOutRelated

public void showAvailInAvailOutRelated()
Shows BitVectors related to (needed to solve) AvailIn/AvailOut vectors, that is, EGen, EKill, AvailIn, and AvailOut vectors. See #showEGen() See #showEKill() See #showAvailIn() See #showAvailOut() See ShowDataFlow#showAvailInAvailOutRelated()

定義:
インタフェース DataFlow 内の showAvailInAvailOutRelated
関連項目:
DataFlow.showEGen(), DataFlow.showEKill(), DataFlow.showAvailIn(), DataFlow.showAvailOut()

showLiveInLiveOutRelated

public void showLiveInLiveOutRelated()
Shows BitVectors related to (needed to solve) LiveIn/LiveOut vectors, that is, Exposed, Defined, LiveIn, and LiveOut vectors. See #showExposed() See #showDefined() See #showLiveIn() See #showLiveOut() See ShowDataFlow#showLiveInLiveOutRelated()

定義:
インタフェース DataFlow 内の showLiveInLiveOutRelated
関連項目:
DataFlow.showExposed(), DataFlow.showDefined(), DataFlow.showLiveIn(), DataFlow.showLiveOut()

showDefInDefOutRelated

public void showDefInDefOutRelated()
Shows BitVectors related to (needed to solve) DefIn/DefOut vectors, that is, Defined, DefIn, and DefOut vectors. See #showDefined() See #showDefIn() See #showDefOut() See ShowDataFlow#showDefInDefOutRelated()

定義:
インタフェース DataFlow 内の showDefInDefOutRelated
関連項目:
DataFlow.showDefined(), DataFlow.showDefIn(), DataFlow.showDefOut()

showAllBitVectors

public void showAllBitVectors()
Shows all the BitVectors. See #showDefVectors() See #showExpVectors() See ShowDataFlow#showAllBitVectors()

定義:
インタフェース DataFlow 内の showAllBitVectors
関連項目:
DataFlow.showDefVectors(), DataFlow.showExpVectors()

showDefUse

public void showDefUse()
Shows the DefUseList for each FlowAnalSym. See ShowDataFlow#showDefUse()

定義:
インタフェース DataFlow 内の showDefUse

showUseDef

public void showUseDef()
Shows the UseDefList for each FlowAnalSym. See ShowDataFlow#showUseDef()

定義:
インタフェース DataFlow 内の showUseDef

showAll

public void showAll()
Shows all the information found in this DFA. See #showAllBitVectors() See #showDefUse() See ShowDataFlow#showAll()

定義:
インタフェース DataFlow 内の showAll
関連項目:
DataFlow.showAllBitVectors(), DataFlow.showDefUse()

showSummary

public void showSummary()
インタフェース DataFlow の記述:
Show summary of data flow information.

定義:
インタフェース DataFlow 内の showSummary

showVector

void showVector(BitVector pBitVector)
Shows the given BitVector.

パラメータ:
pBitVector - BitVector to display See ShowDataFlow#showVector()

showVector

void showVector(BitVector pBitVector,
                java.lang.String pComment)
Shows the given BitVector w/ a comment(heading).

パラメータ:
pBitVector - BitVector to display
pComment - Comment that is displayed before the BitVector See ShowDataFlow#showVector()

getUndefinedUseNodeOfSym

public java.util.Set getUndefinedUseNodeOfSym(FlowAnalSym lSym)
定義:
インタフェース DataFlow 内の getUndefinedUseNodeOfSym

toExpVector

ExpVector toExpVector(java.util.Set pSymbolSet)
toExpVector Converts the given Set of symbols to an ExpVector where each bit of the vector corresponds to an element in the Set set.

戻り値:
ExpVector w/ the relevant bits set.

toSet

java.util.Set toSet(ExpVector pExpVector)
Converts the given ExpVector to a Set that has elements that correspond to the set bits of the ExpVector.

パラメータ:
pExpVector - ExpVector to convert.
戻り値:
Set that contains the relevant elements.