coins.aflow
クラス HirSubpFlowImpl

java.lang.Object
  |
  +--coins.aflow.SubpFlowImpl
        |
        +--coins.aflow.HirSubpFlowImpl
すべての実装インタフェース:
HirSubpFlow, SubpFlow

public class HirSubpFlowImpl
extends SubpFlowImpl
implements HirSubpFlow

HirSubpFlowImpl class: HIR subprogram flow analysis class.


フィールドの概要
 
クラス coins.aflow.SubpFlowImpl から継承したフィールド
fBBlockOfIR, fBBlockTable, fCurrentBBlock, fDfoList, fEntryBBlock, fExitBBlock, fExpIdTable, fHirAnalExtended, fInverseDfoList, fIrIndexMax, fIrIndexMin, flow, flowRoot, fPrevBBlockInSearch, fReachableBBlocks, fRecordAlias, fRecordSetRefReprs, fRestructured, fResults, fSetOfAddressTakenVariables, fSetOfGlobalVariables, fSetRefReprTable, fSubpDefinition, fTempExpCorrespondence, hirRoot, ioRoot, symRoot
 
コンストラクタの概要
protected HirSubpFlowImpl(FlowResults pResults, SubpDefinition pSubpDef)
           
  HirSubpFlowImpl(SubpDefinition pSubpDefinition, FlowResults pResults)
           
 
メソッドの概要
 AssignFlowExpId assigner()
          Retuns the AssignFlowExpId object this SubpFlow is associated with.
 BBlockSubtreeIterator bblockSubtreeIterator(BBlock pBBlock)
          bblockSubtreeItrator Get iterator that traverse top subtrees of the basic block pBBlock.
 void clear()
          Clear flow analysis information by resetting fIrIndexMin = 0, fIrIndexMax = 0, fSetOfGlobalSymbols, fSetOfAddressTakenSymbols.
 void computeBBlockSetRefReprs(SubpFlow pSubpFlow)
           
 java.util.List controlFlowAnal()
          Performs the control flow analysis of this SubpFlow and makes a list of BBlocks.
 void correlateBBlockAndIR()
          correlateBBlockAndIR: Correlate BBlock and IR so that getBBlockOfIR(hir.getIndex()) become effective.
 
クラス coins.aflow.SubpFlowImpl から継承したメソッド
allocateBBlockOfIR, allocateExpIdTable, allocateSetRefReprTable, bblock, bblockVector, cfgBfoIterator, cfgFromExitIterator, cfgIterator, computeSetOfAddressTakenVariables, computeSetOfAddressTakenVariables, computeSetOfGlobalVariables, defVector, defVectorIterator, expVector, expVectorIterator, findDAvailInAvailOut, findDDefInDefOut, findDDefined, findDDefUse, findDefUse, findDEGen, findDExposedUsed, findDKill, findDReach, findDUseDef, findPDef, findPDefined, findPEKill, findPExposedUsed, findPKill, findPLiveInLiveOut, findPReach, findUseDef, flowAnalSymVector, getBBlock, getBBlockOfIR, getBBlocks, getBBlocksFromEntry, getBBlocksFromExit, getBBlockTable, getDefUseList, getEntryBBlock, getExitBBlock, getExpId, getExpId, getExpOfTemp, getFlowExpIdTable, getIrIndexMax, getIrIndexMin, getNumberOfBBlocks, getNumberOfRelevantBBlocks, getReachableBBlocks, getRecordAlias, getRestructureFlag, getSetRefReprOfIR, getSetRefReprs, getSubpDefinition, getSubpSym, getSymIndexTable, getUDList, initiateDataFlow, makeDominatorTree, makePostdominatorTree, pointVector, pointVectorIterator, printExpIdTable, recordBBlock, results, setBBlockOfIR, setBBlocks, setDefUseList, setEntryBBlock, setExitBBlock, setExpId, setExpOfTemp, setFlowExpIdTable, setOfAddressTakenVariables, setOfGlobalVariables, setReachableBBlocks, setRecordAlias, setRestructureFlag, setSetRefReprOfIR, setSetRefReprs, setSymIndexTable, setUDList
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース coins.aflow.SubpFlow から継承したメソッド
allocateExpIdTable, bblock, bblockVector, cfgBfoIterator, cfgFromExitIterator, cfgIterator, computeSetOfAddressTakenVariables, computeSetOfGlobalVariables, defVector, expVector, findDAvailInAvailOut, findDDefInDefOut, findDDefined, findDefUse, findDEGen, findDExposedUsed, findDKill, findDReach, findPDef, findPDefined, findPEKill, findPExposedUsed, findPKill, findPLiveInLiveOut, findPReach, findUseDef, flowAnalSymVector, getBBlock, getBBlockOfIR, getBBlocks, getBBlocksFromEntry, getBBlocksFromExit, getBBlockTable, getDefUseList, getEntryBBlock, getExitBBlock, getExpId, getExpOfTemp, getFlowExpIdTable, getIrIndexMax, getIrIndexMin, getNumberOfBBlocks, getNumberOfRelevantBBlocks, getReachableBBlocks, getRecordAlias, getRestructureFlag, getSetRefReprOfIR, getSetRefReprs, getSubpDefinition, getSubpSym, getSymIndexTable, getUDList, initiateDataFlow, makeDominatorTree, makePostdominatorTree, pointVector, printExpIdTable, recordBBlock, results, setBBlockOfIR, setBBlocks, setDefUseList, setEntryBBlock, setExitBBlock, setExpId, setExpOfTemp, setFlowExpIdTable, setOfAddressTakenVariables, setOfGlobalVariables, setReachableBBlocks, setRecordAlias, setRestructureFlag, setSetRefReprOfIR, setSetRefReprs, setSymIndexTable, setUDList
 

コンストラクタの詳細

HirSubpFlowImpl

public HirSubpFlowImpl(SubpDefinition pSubpDefinition,
                       FlowResults pResults)

HirSubpFlowImpl

protected HirSubpFlowImpl(FlowResults pResults,
                          SubpDefinition pSubpDef)
メソッドの詳細

bblockSubtreeIterator

public BBlockSubtreeIterator bblockSubtreeIterator(BBlock pBBlock)
インタフェース SubpFlow の記述:
bblockSubtreeItrator Get iterator that traverse top subtrees of the basic block pBBlock. For HIR, all top subtrees are to be traversed. For LIR, all LIRTrees are to be traversed.

定義:
インタフェース SubpFlow 内の bblockSubtreeIterator

controlFlowAnal

public java.util.List controlFlowAnal()
インタフェース SubpFlow の記述:
Performs the control flow analysis of this SubpFlow and makes a list of BBlocks.

定義:
インタフェース SubpFlow 内の controlFlowAnal
戻り値:
list of BBlocks that are reachable.

correlateBBlockAndIR

public void correlateBBlockAndIR()
インタフェース SubpFlow の記述:
correlateBBlockAndIR: Correlate BBlock and IR so that getBBlockOfIR(hir.getIndex()) become effective. Before calling this, controlFlowAnal() should be called. This may be skipped if setBBlockOfIR is called for each IR in some other processing for the subprogram corresponding to this SubpFlow.

定義:
インタフェース SubpFlow 内の correlateBBlockAndIR
オーバーライド:
クラス SubpFlowImpl 内の correlateBBlockAndIR

computeBBlockSetRefReprs

public void computeBBlockSetRefReprs(SubpFlow pSubpFlow)

clear

public void clear()
インタフェース SubpFlow の記述:
Clear flow analysis information by resetting fIrIndexMin = 0, fIrIndexMax = 0, fSetOfGlobalSymbols, fSetOfAddressTakenSymbols.

定義:
インタフェース SubpFlow 内の clear
オーバーライド:
クラス SubpFlowImpl 内の clear

assigner

public AssignFlowExpId assigner()
インタフェース SubpFlow の記述:
Retuns the AssignFlowExpId object this SubpFlow is associated with. The AssignFlowExpId object knows which FlowExpId to issue next.

定義:
インタフェース SubpFlow 内の assigner
オーバーライド:
クラス SubpFlowImpl 内の assigner