Package com.android.dx.dex.code
Class HighRegisterPrefix
java.lang.Object
com.android.dx.dex.code.DalvInsn
com.android.dx.dex.code.VariableSizeInsn
com.android.dx.dex.code.HighRegisterPrefix
Combination instruction which turns into a variable number of
move*
instructions to move a set of registers into
registers starting at 0
sequentially. This is used
in translating an instruction whose register requirements cannot
be met using a straightforward choice of a single opcode.-
Constructor Summary
ConstructorDescriptionHighRegisterPrefix
(SourcePosition position, RegisterSpecList registers) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected String
Gets the string form for any arguments to this instance.int
codeSize()
Gets the size of this instruction, in 16-bit code units.protected String
listingString0
(boolean noteIndices) Helper forDalvInsn.listingString(java.lang.String, int, boolean)
, which returns the string form of this instance suitable for inclusion in a human-oriented listing dump, not including the instruction address and without respect for any output formatting.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.void
writeTo
(AnnotatedOutput out) Writes this instance to the given output.Methods inherited from class com.android.dx.dex.code.VariableSizeInsn
withOpcode, withRegisterOffset
Methods inherited from class com.android.dx.dex.code.DalvInsn
cstComment, cstString, expandedPrefix, expandedSuffix, expandedVersion, getAddress, getLowRegVersion, getMinimumRegisterRequirement, getNextAddress, getOpcode, getPosition, getRegisters, hasAddress, hasResult, identifierString, listingString, makeMove, setAddress, toString, withMapper
-
Constructor Details
-
HighRegisterPrefix
Constructs an instance. The output address of this instance is initially unknown (-1
).- Parameters:
position
-non-null;
source positionregisters
-non-null;
source registers
-
-
Method Details
-
codeSize
public int codeSize()Gets the size of this instruction, in 16-bit code units. -
writeTo
Writes this instance to the given output. This method should never annotate the output. -
withRegisters
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.- Specified by:
withRegisters
in classDalvInsn
- Parameters:
registers
-non-null;
new register list- Returns:
non-null;
an appropriately-constructed instance
-
argString
Gets the string form for any arguments to this instance. Subclasses must override this. -
listingString0
Helper forDalvInsn.listingString(java.lang.String, int, boolean)
, which returns the string form of this instance suitable for inclusion in a human-oriented listing dump, not including the instruction address and without respect for any output formatting. This method should returnnull
if this instance should not appear in a listing.- Specified by:
listingString0
in classDalvInsn
- Parameters:
noteIndices
- whether to include an explicit notation of constant pool indices- Returns:
null-ok;
the listing string
-