|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.ModuleElement | +--coins.backend.Function
Represent a function.
フィールドの概要 | |
static int |
FORM_NORMAL
Form Status: FORM_NORMAL, FORM_SSA, FORM_SSA2 |
static int |
FORM_SSA
|
static int |
FORM_SSA2
|
SymTab |
localSymtab
Local symbol table |
LirFactory |
newLir
Factory object for creating LirNode |
LirNode |
origEpilogue
Original epilogue instruction. |
LirNode |
origPrologue
Original prologue instruction. |
static coins.backend.Function.ToCFG |
toCFG
Launcher object for CFG transformation. |
static coins.backend.Function.ToLinear |
toLinear
Transform to linear (non-CFG). |
static LocalTransformer |
toMachineCodeTrig
Transformer which converts a function to machine instructions. |
クラス coins.backend.ModuleElement から継承したフィールド |
module, root, sourceLineNo, symbol |
コンストラクタの概要 | |
Function(Module module,
ImList ptr)
Parse S-expression function description and convert to internal form |
メソッドの概要 | |
Symbol |
addSymbol(java.lang.String name,
int storage,
int type,
int boundary,
int offset,
ImList opt)
Add local symbol |
Symbol |
addSymbol(Symbol original,
int type)
Add temporary symbol |
boolean |
apply(BiList transList)
Apply transformations listed in the transList . |
boolean |
apply(ImList transList)
Apply transformations listed in the transList . |
LocalAnalysis |
apply(LocalAnalyzer analyzer)
Apply some analysis |
boolean |
apply(LocalTransformer xformer)
Apply some transformation/optimization. |
boolean |
apply(LocalTransformer xformer,
ImList args)
Apply some transformation/optimization with argument. |
boolean |
apply(java.lang.Object trans)
Apply transformation (generic form). |
boolean |
apply(java.lang.Object[] transVector)
Apply transformations listed in the transVector . |
boolean |
apply(java.lang.String hook)
Apply transformation assigned to Hook. |
BiList |
firstInstrList()
Return first instruction block. |
FlowGraph |
flowGraph()
Return Control flow graph of this L-function. |
int |
form()
Get form |
int |
frameSize()
Return frame size of this function (value is positive). |
Symbol |
getSymbol(java.lang.String name)
Find symbol whose name is name . |
Label |
internLabel(java.lang.String name)
Install new label whose name is name to this function.
|
BiList |
lirList()
Return Instruction list of this L-function. |
LirNode |
newFrame(java.lang.String name,
int type)
Create new frame variable. |
Label |
newLabel()
Generate new label and return it. |
LirNode |
newReg(java.lang.String name,
int type)
Create new named register variable. |
LirNode |
newTemp(int type)
Create new temporary register variable. |
void |
printIt(java.io.PrintWriter out)
Print for debugging. |
void |
printIt(java.io.PrintWriter out,
LocalAnalysis[] anals)
Dump internal data structure of the Function with some analyses. |
void |
printIt(java.io.PrintWriter out,
LocalAnalyzer[] anals)
Dump internal data structure of the Function with some analyses. |
void |
printStandardForm(java.io.PrintWriter out)
Print L-function in standard form. |
void |
purgeAnalysis()
Purge former analysis |
void |
reload(ImList ptr)
Reload new L-function description from sexp. |
LocalAnalysis |
require(LocalAnalyzer analyzer)
Require analysis. |
void |
reserveLabelVariantNo(int variant)
Reserve label variant number variant . |
void |
setForm(int form)
Set form |
Symbol[] |
symVector()
Return vector of symbols visible from this function. |
int |
timeStamp()
Return this function's version number. |
java.lang.Object |
toSexp()
Convert to external LIR format. |
java.lang.String |
toString()
|
void |
touch()
Notify this function having been modified. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
public final LirFactory newLir
public final SymTab localSymtab
public final LirNode origPrologue
public final LirNode origEpilogue
public static final int FORM_NORMAL
public static final int FORM_SSA
public static final int FORM_SSA2
public static coins.backend.Function.ToCFG toCFG
public static coins.backend.Function.ToLinear toLinear
public static final LocalTransformer toMachineCodeTrig
コンストラクタの詳細 |
public Function(Module module, ImList ptr) throws SyntaxError
メソッドの詳細 |
public BiList firstInstrList()
public void reload(ImList ptr) throws SyntaxError
SyntaxError
public FlowGraph flowGraph()
public BiList lirList()
public Label newLabel()
public Label internLabel(java.lang.String name) throws SyntaxError
name
to this function.
If null is given, generate new unique label.
SyntaxError
public void reserveLabelVariantNo(int variant)
variant
.
public Symbol addSymbol(java.lang.String name, int storage, int type, int boundary, int offset, ImList opt)
public Symbol addSymbol(Symbol original, int type)
public Symbol getSymbol(java.lang.String name)
name
.
public Symbol[] symVector()
public int frameSize()
public LirNode newTemp(int type)
public LirNode newReg(java.lang.String name, int type)
public LirNode newFrame(java.lang.String name, int type)
public void setForm(int form)
public int form()
public int timeStamp()
public void touch()
public void purgeAnalysis()
public LocalAnalysis apply(LocalAnalyzer analyzer)
public LocalAnalysis require(LocalAnalyzer analyzer)
public boolean apply(java.lang.Object trans)
public boolean apply(java.lang.String hook)
public boolean apply(ImList transList)
transList
.
public boolean apply(BiList transList)
transList
.
public boolean apply(java.lang.Object[] transVector)
transVector
.
public boolean apply(LocalTransformer xformer)
public boolean apply(LocalTransformer xformer, ImList args)
public java.lang.Object toSexp()
ModuleElement
内の toSexp
public void printStandardForm(java.io.PrintWriter out)
ModuleElement
内の printStandardForm
public void printIt(java.io.PrintWriter out)
ModuleElement
の記述:
ModuleElement
内の printIt
public void printIt(java.io.PrintWriter out, LocalAnalyzer[] anals)
ModuleElement
内の printIt
public void printIt(java.io.PrintWriter out, LocalAnalysis[] anals)
public java.lang.String toString()
java.lang.Object
内の toString
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |