| Package | Description |
|---|---|
| com.android.dx.dex.code | |
| com.android.dx.rop.code |
Classes relating to a register-based opcode system.
|
| com.android.dx.ssa |
| Modifier and Type | Method and Description |
|---|---|
RegisterSpecList |
DalvInsn.getRegisters()
Gets the register list for this instruction.
|
| Modifier and Type | Method and Description |
|---|---|
protected static boolean |
InsnFormat.isRegListSequential(RegisterSpecList list)
Helper method to determine if a list of registers are sequential,
including degenerate cases for empty or single-element lists.
|
protected static java.lang.String |
InsnFormat.regListString(RegisterSpecList list)
Helper method to return a register list string.
|
protected static java.lang.String |
InsnFormat.regRangeString(RegisterSpecList list)
Helper method to return a register range string.
|
DalvInsn |
TargetInsn.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
CodeAddress.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
OddSpacer.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
SwitchData.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
SimpleInsn.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
CstInsn.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
ArrayData.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
HighRegisterPrefix.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
LocalSnapshot.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
LocalStart.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
DalvInsn |
MultiCstInsn.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
abstract DalvInsn |
DalvInsn.withRegisters(RegisterSpecList registers)
Returns an instance that is just like this one, except that the
register list is replaced by the given one, and its address is
reset.
|
| Constructor and Description |
|---|
CstInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers,
Constant constant)
Constructs an instance.
|
DalvInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers)
Constructs an instance.
|
FixedSizeInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers)
Constructs an instance.
|
HighRegisterPrefix(SourcePosition position,
RegisterSpecList registers)
Constructs an instance.
|
MultiCstInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers,
Constant[] constants)
Constructs an instance.
|
SimpleInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers)
Constructs an instance.
|
TargetInsn(Dop opcode,
SourcePosition position,
RegisterSpecList registers,
CodeAddress target)
Constructs an instance.
|
VariableSizeInsn(SourcePosition position,
RegisterSpecList registers)
Constructs an instance.
|
| Modifier and Type | Field and Description |
|---|---|
static RegisterSpecList |
RegisterSpecList.EMPTY
non-null; no-element instance |
| Modifier and Type | Method and Description |
|---|---|
RegisterSpecList |
Insn.getSources()
Gets the source specs.
|
static RegisterSpecList |
RegisterSpecList.make(RegisterSpec spec)
Makes a single-element instance.
|
static RegisterSpecList |
RegisterSpecList.make(RegisterSpec spec0,
RegisterSpec spec1)
Makes a two-element instance.
|
static RegisterSpecList |
RegisterSpecList.make(RegisterSpec spec0,
RegisterSpec spec1,
RegisterSpec spec2)
Makes a three-element instance.
|
static RegisterSpecList |
RegisterSpecList.make(RegisterSpec spec0,
RegisterSpec spec1,
RegisterSpec spec2,
RegisterSpec spec3)
Makes a four-element instance.
|
RegisterSpecList |
RegisterSpecList.subset(java.util.BitSet exclusionSet)
Returns a new instance, which contains a subset of the elements
specified by the given BitSet.
|
RegisterSpecList |
RegisterSpecList.withExpandedRegisters(int base,
boolean duplicateFirst,
java.util.BitSet compatRegs)
Returns an instance that is identical to this one, except that
all incompatible register numbers are renumbered sequentially from
the given base, with the first number duplicated if indicated.
|
RegisterSpecList |
RegisterSpecList.withFirst(RegisterSpec spec)
Returns a new instance, which is the same as this instance,
except that it has an additional element prepended to the original.
|
RegisterSpecList |
RegisterSpecList.withOffset(int delta)
Returns an instance that is identical to this one, except that
all register numbers are offset by the given amount.
|
RegisterSpecList |
RegisterSpecList.withoutFirst()
Returns a new instance, which is the same as this instance,
except that its first element is removed.
|
RegisterSpecList |
RegisterSpecList.withoutLast()
Returns a new instance, which is the same as this instance,
except that its last element is removed.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
TranslationAdvice.requiresSourcesInOrder(Rop opcode,
RegisterSpecList sources)
Returns true if the translation target requires the sources of the
specified opcode to be in order and contiguous (eg, for an invoke-range)
|
boolean |
DexTranslationAdvice.requiresSourcesInOrder(Rop opcode,
RegisterSpecList sources)
Returns true if the translation target requires the sources of the
specified opcode to be in order and contiguous (eg, for an invoke-range)
|
boolean |
ConservativeTranslationAdvice.requiresSourcesInOrder(Rop opcode,
RegisterSpecList sources)
Returns true if the translation target requires the sources of the
specified opcode to be in order and contiguous (eg, for an invoke-range)
|
Insn |
PlainCstInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
abstract Insn |
Insn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
PlainInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
ThrowingInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
ThrowingCstInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
SwitchInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
InvokePolymorphicInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
Insn |
FillArrayDataInsn.withNewRegisters(RegisterSpec result,
RegisterSpecList sources)
Returns an instance that is just like this one, except
with new result and source registers.
|
| Constructor and Description |
|---|
CstInsn(Rop opcode,
SourcePosition position,
RegisterSpec result,
RegisterSpecList sources,
Constant cst)
Constructs an instance.
|
FillArrayDataInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
java.util.ArrayList<Constant> initValues,
Constant cst)
Constructs an instance.
|
Insn(Rop opcode,
SourcePosition position,
RegisterSpec result,
RegisterSpecList sources)
Constructs an instance.
|
InvokePolymorphicInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
TypeList catches,
CstMethodRef callSiteMethod)
Constructs an instance.
|
PlainCstInsn(Rop opcode,
SourcePosition position,
RegisterSpec result,
RegisterSpecList sources,
Constant cst)
Constructs an instance.
|
PlainInsn(Rop opcode,
SourcePosition position,
RegisterSpec result,
RegisterSpecList sources)
Constructs an instance.
|
SwitchInsn(Rop opcode,
SourcePosition position,
RegisterSpec result,
RegisterSpecList sources,
IntList cases)
Constructs an instance.
|
ThrowingCstInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
TypeList catches,
Constant cst)
Constructs an instance.
|
ThrowingInsn(Rop opcode,
SourcePosition position,
RegisterSpecList sources,
TypeList catches)
Constructs an instance.
|
| Modifier and Type | Method and Description |
|---|---|
abstract RegisterSpecList |
SsaInsn.getSources()
Like
getSources(). |
RegisterSpecList |
NormalSsaInsn.getSources()
Like rop.Insn.getSources().
|
RegisterSpecList |
PhiInsn.getSources()
Gets sources.
|
RegisterSpecList |
RegisterMapper.map(RegisterSpecList sources) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
InterferenceRegisterMapper.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.
|
RegisterSpecList |
RegisterMapper.map(RegisterSpecList sources) |
void |
NormalSsaInsn.setNewSources(RegisterSpecList newSources)
Changes the source list of the insn.
|
Copyright © 2020. All Rights Reserved.