coins.flow
クラス FlowImpl

java.lang.Object
  |
  +--coins.flow.FlowImpl
すべての実装インタフェース:
Flow

public class FlowImpl
extends java.lang.Object
implements Flow

FlowImpl class Flow analysis class.


フィールドの概要
 ControlFlow fControlFlow
           
 DataFlow fDataFlow
           
 int fDbgLevel
           
protected  FlagBox fFlowAnalState
           
protected  int fFlowAnalStateLevel
           
 FlowRoot flowRoot
           
 Subp fSubp
           
 SubpFlow fSubpFlow
           
 java.lang.Object fSubpFlowCurrent
           
 HirRoot hirRoot
           
 IoRoot ioRoot
           
 java.util.Map staticVariableMapOfSubp
          Map a map of static variable and corresponding temporal variable.
 SymRoot symRoot
           
 
インタフェース coins.flow.Flow から継承したフィールド
STATE_CFG_AVAILABLE, STATE_CFG_RESTRUCTURING, STATE_DATA_FLOW_AVAILABLE, STATE_DATA_UNAVAILABLE, STATE_HIR_FLOW_AVAILABLE, STATE_LIR_FLOW_AVAILABLE
 
コンストラクタの概要
FlowImpl()
           
FlowImpl(FlowRoot pFlowRoot)
           
 
メソッドの概要
 ControlFlow controlFlow()
           
 ControlFlow controlFlowAnal(SubpFlow pSubpFlow)
          controlFlowAnal Do control flow analysis of the subprogram specified by pSubpFlow, i.e.
 DataFlow dataFlow()
           
 DataFlow dataFlowAnal()
           
 DataFlow dataFlowAnal(SubpDefinition pSubpDef)
          dataFlowAnal // REFINE comment.
 void dbg(int level, java.lang.Object pObject)
           
 void dbg(int level, java.lang.String pHeader, java.lang.Object pObject)
           
 void doHir()
          Do control flow analysis and data flow analysis.
 void doHir0(SubpDefinition pSubpDef, SubpFlow pSubpFlow)
           
 boolean getFlowAnalState(int pFlagId)
           
 int getFlowAnalStateLevel()
           
 SubpFlow getSubpFlow()
           
 Subp getSubpUnderAnalysis()
          getSubpFlow Get currently effective SubpFlow information.
 void resetAllFlowInf(Subp pSubp)
           
 void setFlowAnalState(int pFlagId, boolean pYesNo)
           
 void setFlowAnalStateLevel(int pStateLevel)
           
 
クラス 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

fSubpFlow

public SubpFlow fSubpFlow

fSubpFlowCurrent

public java.lang.Object fSubpFlowCurrent

fSubp

public Subp fSubp

fControlFlow

public ControlFlow fControlFlow

fDataFlow

public DataFlow fDataFlow

fFlowAnalState

protected FlagBox fFlowAnalState

fFlowAnalStateLevel

protected int fFlowAnalStateLevel

staticVariableMapOfSubp

public java.util.Map staticVariableMapOfSubp
Map a map of static variable and corresponding temporal variable. For each subprogram to be expanded inline, a map showing the correspondence between local static variable and temporal variable to be used in replacement is created. staticVariableMapOfSubp maps such map to the subprogram to be inlined.


fDbgLevel

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

FlowImpl

public FlowImpl()

FlowImpl

public FlowImpl(FlowRoot pFlowRoot)
メソッドの詳細

controlFlowAnal

public ControlFlow controlFlowAnal(SubpFlow pSubpFlow)
インタフェース Flow の記述:
controlFlowAnal Do control flow analysis of the subprogram specified by pSubpFlow, i.e. do initiation by initiateHirControlFlowAnalysis or initiateLirControlFlowAnalisis; invoke control flow analyzer (makeControlFlowGraph); show the result by showAll.

定義:
インタフェース Flow 内の controlFlowAnal
戻り値:
control flow information block.

dataFlowAnal

public DataFlow dataFlowAnal(SubpDefinition pSubpDef)
インタフェース Flow の記述:
dataFlowAnal // REFINE comment. Do data flow analysis of the subprogram defined by pSubpDef. It is expected that the control flow analysis has already been done. If it is not yet done, initiateHirControlFlowAnayisis or initiateLirControlFlowAnayisis is invoked before the actual data flow analysis takes place. Thus, before the actual data flow analysis, the subprogram is already devided into basic blocks, every executable nodes are indexed, and symbols actually used in the subprogram are recorded.

定義:
インタフェース Flow 内の dataFlowAnal
戻り値:
DataFlow information showing the result of analysis.

resetAllFlowInf

public void resetAllFlowInf(Subp pSubp)
定義:
インタフェース Flow 内の resetAllFlowInf

getSubpFlow

public SubpFlow getSubpFlow()
定義:
インタフェース Flow 内の getSubpFlow

getSubpUnderAnalysis

public Subp getSubpUnderAnalysis()
インタフェース Flow の記述:
getSubpFlow Get currently effective SubpFlow information.

定義:
インタフェース Flow 内の getSubpUnderAnalysis

controlFlow

public ControlFlow controlFlow()
定義:
インタフェース Flow 内の controlFlow

dataFlow

public DataFlow dataFlow()
定義:
インタフェース Flow 内の dataFlow

dataFlowAnal

public DataFlow dataFlowAnal()
定義:
インタフェース Flow 内の dataFlowAnal

getFlowAnalState

public boolean getFlowAnalState(int pFlagId)

setFlowAnalState

public void setFlowAnalState(int pFlagId,
                             boolean pYesNo)

getFlowAnalStateLevel

public int getFlowAnalStateLevel()
定義:
インタフェース Flow 内の getFlowAnalStateLevel

setFlowAnalStateLevel

public void setFlowAnalStateLevel(int pStateLevel)
定義:
インタフェース Flow 内の setFlowAnalStateLevel

dbg

public void dbg(int level,
                java.lang.String pHeader,
                java.lang.Object pObject)
定義:
インタフェース Flow 内の dbg

dbg

public void dbg(int level,
                java.lang.Object pObject)
定義:
インタフェース Flow 内の dbg

doHir

public void doHir()
インタフェース Flow の記述:
Do control flow analysis and data flow analysis. This may be invoked from Driver by flow analysis option in command.

定義:
インタフェース Flow 内の doHir

doHir0

public void doHir0(SubpDefinition pSubpDef,
                   SubpFlow pSubpFlow)