|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.opt.Inline
Inline class does inline expansion of small subprograms.
| Field Summary | |
protected int |
fDbgLevel
|
protected FlowImpl |
fFlowImpl
|
protected int |
fLimitOfExpansionDepth
|
protected java.util.Map |
fOptionMap
|
protected CoinsOptions |
fOptions
|
protected java.util.List |
fPragmaInlineList
|
protected int |
fUpperLimitOfNodeCount
|
protected boolean |
fWithHirOpt
|
protected HirRoot |
hirRoot
|
protected IoRoot |
io
|
protected java.util.Vector |
SubpBlackList
|
protected SymRoot |
symRoot
|
protected int |
VALUESUM
|
| Constructor Summary | |
Inline(HirRoot pHirRoot,
SymRoot pSymRoot,
IoRoot pIoRoot,
java.lang.String pOptionValue,
java.util.List pPragmaInlineList,
boolean pWithHirOpt,
java.lang.String pInlineDepth)
|
|
| Method Summary | |
boolean |
changeSubp(SubpDefinition pSubpDef)
|
protected boolean |
checkCallerSubp_B(SubpDefinition lSubpDef,
HirRoot hirRoot,
SymRoot symRoot,
IoRoot io)
|
(package private) Var |
getTempForStaticVar(Var pStaticVar,
Subp pSubp)
getTempForStaticVar get the temporal variable corresponding to the static variable lStaticVar. |
protected boolean |
inlineCond(HIR pxNode)
inlineCond decides whether the subprogram called at pxNode should be expanded or not. |
protected void |
inlineExpansion(HIR pCallNode)
Expand subprogram called at pCallNode |
protected boolean |
isLastStmtOfSubp(Stmt pStmt)
|
protected void |
replaceLocalStaticVariables(SubpDefinition pSubpDef)
replaceLocalStaticVariables replaces static variables declared locally in pSubpDef by temporal variable so that local static variables are trreated properly in both cases where the subprogram is expanded and not expanded. |
protected void |
replaceLocalStaticVariablesInSubtree(HIR pHir,
Subp pSubp)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected final HirRoot hirRoot
protected final SymRoot symRoot
protected final IoRoot io
protected final int fDbgLevel
protected int fLimitOfExpansionDepth
protected int fUpperLimitOfNodeCount
protected int VALUESUM
protected final FlowImpl fFlowImpl
protected java.util.Map fOptionMap
protected CoinsOptions fOptions
protected java.util.Vector SubpBlackList
protected java.util.List fPragmaInlineList
protected boolean fWithHirOpt
| Constructor Detail |
public Inline(HirRoot pHirRoot,
SymRoot pSymRoot,
IoRoot pIoRoot,
java.lang.String pOptionValue,
java.util.List pPragmaInlineList,
boolean pWithHirOpt,
java.lang.String pInlineDepth)
| Method Detail |
public boolean changeSubp(SubpDefinition pSubpDef)
protected boolean checkCallerSubp_B(SubpDefinition lSubpDef,
HirRoot hirRoot,
SymRoot symRoot,
IoRoot io)
protected boolean inlineCond(HIR pxNode)
pxNode - node calling a subprogram.
protected void inlineExpansion(HIR pCallNode)
pCallNode - call node
Var getTempForStaticVar(Var pStaticVar,
Subp pSubp)
pSubp - subprogram to be expanded inline.
protected void replaceLocalStaticVariables(SubpDefinition pSubpDef)
pSubpDef - definition of subprogram to be inline expanded.
protected void replaceLocalStaticVariablesInSubtree(HIR pHir,
Subp pSubp)
protected boolean isLastStmtOfSubp(Stmt pStmt)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||