final class SpillCode extends CompilerPhase
container
Constructor and Description |
---|
SpillCode() |
Modifier and Type | Method and Description |
---|---|
String |
getName() |
CompilerPhase |
newExecution(IR ir)
Return this instance of this phase.
|
void |
perform(IR ir)
This is the method that actually does the work of the phase.
|
boolean |
printingEnabled(OptOptions options,
boolean before)
Returns true if the phase wants the IR dumped before and/or after it runs.
|
private static void |
replaceSymbolicRegisters(IR ir)
Iterates over the IR and replace each symbolic register with its
allocated physical register.
|
private void |
rewriteFPStack(IR ir)
Rewrites floating point registers to reflect changes in stack
height induced by BURS.
|
boolean |
shouldPerform(OptOptions options)
This method determines if the phase should be run, based on the
Options object it is passed.
|
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, reportAdditionalStats, setContainer, verify
SpillCode()
public CompilerPhase newExecution(IR ir)
newExecution
in class CompilerPhase
ir
- not usedpublic boolean shouldPerform(OptOptions options)
CompilerPhase
shouldPerform
in class CompilerPhase
options
- the compiler options for the compilationpublic String getName()
getName
in class CompilerPhase
public boolean printingEnabled(OptOptions options, boolean before)
CompilerPhase
printingEnabled
in class CompilerPhase
options
- the compiler options for the compilationbefore
- true when invoked before perform, false otherwise.private void rewriteFPStack(IR ir)
Side effect: update the fpStackHeight in MIRInfo.
ir
- the IR to processpublic void perform(IR ir)
CompilerPhase
perform
in class CompilerPhase
ir
- the IRprivate static void replaceSymbolicRegisters(IR ir)
ir
- the IR to process