|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.MachineParams
Object holding Machine Parameters.
コンストラクタの概要 | |
MachineParams()
|
メソッドの概要 | |
void |
addRequired(SymTab symtbl)
Register external symbols of built-in functions and static objects. |
int |
andSet(int setx,
int sety)
Return an intersection of two register sets. |
boolean |
covered(int reg,
NumberSet set)
Return true if register reg is covered by
other registers in register set set . |
abstract int[] |
getCompAndTbl()
|
abstract int[] |
getCompWeightTbl()
|
abstract short[][] |
getOverlapReg()
|
int |
getRegSet(java.lang.String name)
Return register set number whose name is name . |
abstract short[][] |
getRegsetMap()
|
abstract java.lang.String[] |
getRegsetName()
|
abstract short[] |
getRegsetNAvail()
|
abstract int[] |
getRegsetNumber()
|
int |
getRegSetType(java.lang.String name)
Return type of register set. |
abstract int[] |
getRegsetTypeTbl()
|
abstract short[][] |
getSubReg()
|
abstract short[][] |
getSuperReg()
|
abstract java.lang.String[] |
getSymName()
Return array of register's names. |
abstract int[] |
getSymRegNumber()
|
abstract int[] |
getSymType()
|
int |
igWeight(int setx,
int sety)
Return interference graph weight = number of edges coming from x to y. |
void |
init(Module mod,
SymTab symTab)
|
boolean |
isOverlapped(LirNode node1,
LirNode node2)
Return true if register node1 and node2 overlap |
int |
nAvail(int set)
Return number of registers available in the register set. |
abstract int |
nRegisters()
Return number of physical registers. |
abstract int |
nRegsets()
Return number of register sets. |
short[] |
overlapRegs(int reg)
Return vector of registers that overlaps with reg . |
int |
registerIndex(LirNode node)
Convert LirNode to physical register number. |
int |
registerIndex(Symbol sym)
Convert symbol to register number. |
LirNode |
registerLir(int reg)
Convert register number to LirNode. |
Symbol |
registerSymbol(int reg)
Convert register number to symbol. |
java.lang.String |
registerToString(int reg)
Convert register number to visible form. |
BitMapSet |
regSetMap(int set)
Return bitmap of register set. |
int |
regSetType(int set)
Return type of register set. |
void |
removeRegister(BitMapSet set,
int reg)
Remove registers overlapping with reg
from register set set . |
short[] |
subRegs(int reg)
Return array of subregisters of register reg . |
abstract int |
typeAddress()
Return address type. |
abstract int |
typeBool()
Return boolean type. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public MachineParams()
メソッドの詳細 |
public void addRequired(SymTab symtbl)
public abstract int nRegisters()
public abstract int nRegsets()
public abstract int typeAddress()
public abstract int typeBool()
public abstract java.lang.String[] getSymName()
public abstract int[] getSymType()
public abstract int[] getSymRegNumber()
public abstract short[][] getOverlapReg()
public abstract short[][] getSuperReg()
public abstract short[][] getSubReg()
public abstract java.lang.String[] getRegsetName()
public abstract int[] getRegsetNumber()
public abstract short[][] getRegsetMap()
public abstract short[] getRegsetNAvail()
public abstract int[] getCompAndTbl()
public abstract int[] getCompWeightTbl()
public abstract int[] getRegsetTypeTbl()
public void init(Module mod, SymTab symTab)
public int registerIndex(LirNode node)
node
must be the form like (REG) or (SUBREG (REG)).
public int registerIndex(Symbol sym)
public Symbol registerSymbol(int reg)
public LirNode registerLir(int reg)
public java.lang.String registerToString(int reg)
public int getRegSet(java.lang.String name)
name
.
public int regSetType(int set)
public int getRegSetType(java.lang.String name)
public BitMapSet regSetMap(int set)
public int nAvail(int set)
public int andSet(int setx, int sety)
public int igWeight(int setx, int sety)
public void removeRegister(BitMapSet set, int reg)
reg
from register set set
.
public short[] overlapRegs(int reg)
reg
.
public boolean covered(int reg, NumberSet set)
reg
is covered by
other registers in register set set
.
public boolean isOverlapped(LirNode node1, LirNode node2)
public short[] subRegs(int reg)
reg
.
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |