com.android.dx.ssa.back
Class FirstFitLocalCombiningAllocator
java.lang.Object
com.android.dx.ssa.back.RegisterAllocator
com.android.dx.ssa.back.FirstFitLocalCombiningAllocator
public class FirstFitLocalCombiningAllocator
- extends RegisterAllocator
Allocates registers in a first-fit fashion, with the bottom reserved for
method parameters and all SSAregisters representing the same local variable
kept together if possible.
|
Method Summary |
RegisterMapper |
allocateRegisters()
Runs the algorithm. |
boolean |
wantsParamsMovedHigh()
Indicates whether the method params were allocated at the bottom
of the namespace, and thus should be moved up to the top of the
namespace after phi removal. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FirstFitLocalCombiningAllocator
public FirstFitLocalCombiningAllocator(SsaMethod ssaMeth,
InterferenceGraph interference,
boolean minimizeRegisters)
- Constructs instance.
- Parameters:
ssaMeth - non-null; method to processinterference - non-null interference graph for SSA registersminimizeRegisters - true if converter should take steps to
minimize rop-form registers
wantsParamsMovedHigh
public boolean wantsParamsMovedHigh()
- Indicates whether the method params were allocated at the bottom
of the namespace, and thus should be moved up to the top of the
namespace after phi removal.
- Specified by:
wantsParamsMovedHigh in class RegisterAllocator
- Returns:
true if params should be moved from low to high
allocateRegisters
public RegisterMapper allocateRegisters()
- Runs the algorithm.
- Specified by:
allocateRegisters in class RegisterAllocator
- Returns:
- a register mapper to apply to the
SsaMethod
Copyright © 2015. All rights reserved.