|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造函数 | 方法 | 详细信息: 字段 | 构造函数 | 方法 |
java.lang.Objectedu.ustc.cs.compile.arch.mips.regalloc.RegAllocator
public class RegAllocator
MIPS register allocator.
The register allocation algorithm used here is described in "M Poletto, V Sarkar, Linear scan register allocation, ACM Transactions on Programming Languages and Systems, 1999.10".
构造函数摘要 | |
---|---|
RegAllocator()
|
方法摘要 | |
---|---|
private static LiveInterval[] |
computeLiveIntervals(DataFlowGraph dfg,
int regVarNo)
computeLiveIntervals() |
private static void |
computeLiveVariables(DataFlowGraph dfg,
int regVarNo)
computeLiveVariables() |
private static void |
copyBitSet(java.util.BitSet src,
java.util.BitSet dest)
|
private static void |
expireOldIntervals(LiveInterval interval,
Active active,
RegPool pool)
|
static java.util.ArrayList<AllocateResult> |
globalRegAlloc(AssemblySequence stmts,
int regVarNum)
Register allocator. |
private static java.util.BitSet |
negBitSet(java.util.BitSet bits)
|
private static void |
number(DataFlowGraph dfg)
number() numbers the instructs in depth-start order. |
private static RegPool |
prepareRegPool()
|
private static int |
spill(LiveInterval interval,
Active active,
int top)
|
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造函数详细信息 |
---|
public RegAllocator()
方法详细信息 |
---|
public static java.util.ArrayList<AllocateResult> globalRegAlloc(AssemblySequence stmts, int regVarNum)
Register allocator.
stmts
- the statements of the assemblyregVarNum
- the number of pseudo register appears in the program
AllocateResult
objects. The n'th (from 0) element is the allocation result of
the n'th pseudo register.private static void number(DataFlowGraph dfg)
private static void computeLiveVariables(DataFlowGraph dfg, int regVarNo)
private static LiveInterval[] computeLiveIntervals(DataFlowGraph dfg, int regVarNo)
private static void expireOldIntervals(LiveInterval interval, Active active, RegPool pool)
private static int spill(LiveInterval interval, Active active, int top)
private static void copyBitSet(java.util.BitSet src, java.util.BitSet dest)
private static java.util.BitSet negBitSet(java.util.BitSet bits)
private static RegPool prepareRegPool()
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造函数 | 方法 | 详细信息: 字段 | 构造函数 | 方法 |