| Modifier and Type | Method and Description |
|---|---|
| public int | Returns: register count noted aboveGets the maximum register width that can be represented optimally. |
| public boolean | Returns: true iff the target can represent the operation
using a constant for the last argumentnon-null; the opcodenon-null; the first sourcenon-null; the second sourceReturns an indication of whether the target can directly represent an instruction with the given opcode operating on the given arguments, where the last source argument is used as a constant. |
| public boolean | Returns: true iff the target requires the sources to be
in order and contiguous.non-null; opcodenon-null; source listReturns true if the translation target requires the sources of the specified opcode to be in order and contiguous (eg, for an invoke-range) |
| getMaxOptimalRegisterCount | back to summary |
|---|---|
| public int getMaxOptimalRegisterCount() Gets the maximum register width that can be represented optimally. For example, Dex bytecode does not have instruction forms that take register numbers larger than 15 for all instructions so DexTranslationAdvice returns 15 here.
| |
| hasConstantOperation | back to summary |
|---|---|
| public boolean hasConstantOperation(Rop opcode, RegisterSpec sourceA, RegisterSpec sourceB) Returns an indication of whether the target can directly represent an instruction with the given opcode operating on the given arguments, where the last source argument is used as a constant. (That is, the last argument must have a type which indicates it is a known constant.) The instruction associated must have exactly two sources.
| |
| requiresSourcesInOrder | back to summary |
|---|---|
| public boolean 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)
| |