|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.ssa.RegisterMapper
com.android.dx.ssa.BasicRegisterMapper
com.android.dx.ssa.InterferenceRegisterMapper
public class InterferenceRegisterMapper
A register mapper that keeps track of the accumulated interference information for the registers in the new namespace. Please note that this mapper requires that the old namespace does not have variable register widths/categories, and the new namespace does.
| Constructor Summary | |
|---|---|
InterferenceRegisterMapper(InterferenceGraph oldRegInterference,
int countOldRegisters)
Constructs an instance |
|
| Method Summary | |
|---|---|
void |
addMapping(int oldReg,
int newReg,
int category)
Adds a mapping to the mapper. |
boolean |
areAnyPinned(RegisterSpecList oldSpecs,
int newReg,
int targetCategory)
Checks to see if any of a set of old-namespace registers are pinned to the specified new-namespace reg + category. |
boolean |
interferes(int oldReg,
int newReg,
int category)
Checks to see if old namespace reg oldReg interferes
with what currently maps to newReg. |
boolean |
interferes(RegisterSpec oldSpec,
int newReg)
Checks to see if old namespace reg oldReg interferes
with what currently maps to newReg. |
| Methods inherited from class com.android.dx.ssa.BasicRegisterMapper |
|---|
getNewRegisterCount, map, oldToNew, toHuman |
| Methods inherited from class com.android.dx.ssa.RegisterMapper |
|---|
map, map |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public InterferenceRegisterMapper(InterferenceGraph oldRegInterference,
int countOldRegisters)
countOldRegisters - number of registers in old namespace| Method Detail |
|---|
public void addMapping(int oldReg,
int newReg,
int category)
addMapping in class BasicRegisterMapperoldReg - >= 0; old registernewReg - >= 0; new registercategory - 1..2; width of reg
public boolean interferes(int oldReg,
int newReg,
int category)
oldReg interferes
with what currently maps to newReg.
oldReg - old namespace registernewReg - new namespace registercategory - category of old namespace register
public boolean interferes(RegisterSpec oldSpec,
int newReg)
oldReg interferes
with what currently maps to newReg.
oldSpec - non-null; old namespace registernewReg - new namespace register
public boolean areAnyPinned(RegisterSpecList oldSpecs,
int newReg,
int targetCategory)
oldSpecs - non-null; set of old-namespace regsnewReg - >= 0; new-namespace registertargetCategory - 1..2; the number of adjacent new-namespace
registers (starting at ropReg) to consider
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||