|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.android.dx.ssa.SsaInsn
com.android.dx.ssa.NormalSsaInsn
public final class NormalSsaInsn
A "normal" (non-phi) instruction in SSA form. Always wraps a rop insn.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class com.android.dx.ssa.SsaInsn |
|---|
SsaInsn.Visitor |
| Method Summary | |
|---|---|
void |
accept(SsaInsn.Visitor v)
Accepts a visitor. |
boolean |
canThrow()
|
void |
changeOneSource(int index,
RegisterSpec newSpec)
Changes one of the insn's sources. |
NormalSsaInsn |
clone()
|
RegisterSpec |
getLocalAssignment()
Gets the spec of a local variable assignment that occurs at this instruction, or null if no local variable assignment occurs. |
Rop |
getOpcode()
Returns the Rop opcode for this insn, or null if this is a phi insn. |
Insn |
getOriginalRopInsn()
Returns the original Rop insn for this insn, or null if this is a phi insn. |
RegisterSpecList |
getSources()
Like rop.Insn.getSources(). |
boolean |
hasSideEffect()
Returns true if this insn is considered to have a side effect beyond that of assigning to the result reg. |
boolean |
isMoveException()
|
boolean |
isNormalMoveInsn()
|
boolean |
isPhiOrMove()
|
void |
mapSourceRegisters(RegisterMapper mapper)
Maps only source registers. |
void |
setNewSources(RegisterSpecList newSources)
Changes the source list of the insn. |
String |
toHuman()
Return the "human" string form of this instance. |
Insn |
toRopInsn()
Transform back to ROP form. |
void |
upgradeToLiteral()
Upgrades this insn to a version that represents the constant source literally. |
| Methods inherited from class com.android.dx.ssa.SsaInsn |
|---|
changeResultReg, getBlock, getResult, isRegASource, isResultReg, makeFromRop, mapRegisters, setResult, setResultLocal |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public final void mapSourceRegisters(RegisterMapper mapper)
mapSourceRegisters in class SsaInsnmapper - new mapping
public final void changeOneSource(int index,
RegisterSpec newSpec)
index - >=0; index of source to changenewSpec - spec for new sourcepublic final void setNewSources(RegisterSpecList newSources)
newSources - non-null new sources list.public NormalSsaInsn clone()
clone in class SsaInsnpublic RegisterSpecList getSources()
getSources in class SsaInsnnull-ok; sources listpublic String toHuman()
toString().
toHuman in interface ToHumannon-null; the human string formpublic Insn toRopInsn()
toRopInsn in class SsaInsnnon-null; a ROP representation of this instruction, with
updated registers.public Rop getOpcode()
SsaInsn
getOpcode in class SsaInsnpublic Insn getOriginalRopInsn()
getOriginalRopInsn in class SsaInsnnull-ok; Rop insn if there is one.public RegisterSpec getLocalAssignment()
mark-local insns
it may be the source.
getLocalAssignment in class SsaInsnnull-ok; a local-associated register spec or nullInsn.getLocalAssignment()public void upgradeToLiteral()
Insn.withSourceLiteral()public boolean isNormalMoveInsn()
isNormalMoveInsn in class SsaInsnpublic boolean isMoveException()
isMoveException in class SsaInsnpublic boolean canThrow()
canThrow in class SsaInsnpublic void accept(SsaInsn.Visitor v)
accept in class SsaInsnv - non-null the visitorpublic boolean isPhiOrMove()
isPhiOrMove in class SsaInsnpublic boolean hasSideEffect()
hasSideEffect in class SsaInsn
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||