| Modifier and Type | Class and Description |
|---|---|
| public static enum | Optimizer.
optional optimizer steps |
| Modifier and Type | Field and Description |
|---|---|
| private static TranslationAdvice | |
| private static boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static SsaMethod | debugDeadCodeRemover(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice)
|
| public static SsaMethod | debugEdgeSplit(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice)
|
| public static SsaMethod | debugNoRegisterAllocation(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice, EnumSet<Optimizer.
|
| public static SsaMethod | debugPhiPlacement(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice)
|
| public static SsaMethod | debugRenaming(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice)
|
| public static TranslationAdvice | |
| public static boolean | Returns: true if local variable information should be preserved, even at code size/register size cost
|
| public static RopMethod | Returns: optimized methodmethod to process rmeth, int the total width, in register-units, of this method's
parameters paramWidth, boolean true if this method has no 'this' pointer argument. isStatic, boolean true if local variable info should be preserved,
at the cost of some registers and insns inPreserveLocals, TranslationAdvice non-null; translation adviceRuns optimization algorthims over this method, and returns a new instance of RopMethod with the changes. |
| public static RopMethod | Returns: optimized methodmethod to process rmeth, int the total width, in register-units, of this method's
parameters paramWidth, boolean true if this method has no 'this' pointer argument. isStatic, boolean true if local variable info should be preserved,
at the cost of some registers and insns inPreserveLocals, TranslationAdvice non-null; translation adviceset of optional optimization steps to run stepsRuns optimization algorthims over this method, and returns a new instance of RopMethod with the changes. |
| private static RopMethod | Returns: optimized methodmethod to process rmeth, int the total width, in register-units, of this method's
parameters paramWidth, boolean true if this method has no 'this' pointer argument. isStatic, EnumSet<Optimizer.set of optional optimization steps to run stepsRuns the optimizer with a strategy to minimize the number of rop-form registers used by the end result. |
| private static void |
| advice | back to summary |
|---|---|
| private static TranslationAdvice advice | |
| preserveLocals | back to summary |
|---|---|
| private static boolean preserveLocals | |
| Optimizer | back to summary |
|---|---|
| public Optimizer() | |
| debugDeadCodeRemover | back to summary |
|---|---|
| public static SsaMethod debugDeadCodeRemover(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice) | |
| debugEdgeSplit | back to summary |
|---|---|
| public static SsaMethod debugEdgeSplit(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice) | |
| debugNoRegisterAllocation | back to summary |
|---|---|
| public static SsaMethod debugNoRegisterAllocation(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice, EnumSet<Optimizer. | |
| debugPhiPlacement | back to summary |
|---|---|
| public static SsaMethod debugPhiPlacement(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice) | |
| debugRenaming | back to summary |
|---|---|
| public static SsaMethod debugRenaming(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice) | |
| getAdvice | back to summary |
|---|---|
public static TranslationAdvice getAdvice()
| |
| getPreserveLocals | back to summary |
|---|---|
public static boolean getPreserveLocals()
| |
| optimize | back to summary |
|---|---|
| public static RopMethod optimize(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice) Runs optimization algorthims over this method, and returns a new instance of RopMethod with the changes.
| |
| optimize | back to summary |
|---|---|
| public static RopMethod optimize(RopMethod rmeth, int paramWidth, boolean isStatic, boolean inPreserveLocals, TranslationAdvice inAdvice, EnumSet<Optimizer. Runs optimization algorthims over this method, and returns a new instance of RopMethod with the changes.
| |
| optimizeMinimizeRegisters | back to summary |
|---|---|
| private static RopMethod optimizeMinimizeRegisters(RopMethod rmeth, int paramWidth, boolean isStatic, EnumSet<Optimizer. Runs the optimizer with a strategy to minimize the number of rop-form registers used by the end result. Dex bytecode does not have instruction forms that take register numbers larger than 15 for all instructions. If we've produced a method that uses more than 16 registers, try again with a different strategy to see if we can get under the bar. The end result will be much more efficient.
| |
| runSsaFormSteps | back to summary |
|---|---|
| private static void runSsaFormSteps(SsaMethod ssaMeth, EnumSet<Optimizer. | |
| Modifier and Type | Field and Description |
|---|---|
| public static final Optimizer. | |
| public static final Optimizer. | |
| public static final Optimizer. | |
| public static final Optimizer. | |
| public static final Optimizer. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static Optimizer. | |
| public static Optimizer. |
| CONST_COLLECTOR | back to summary |
|---|---|
| public static final Optimizer. | |
| ESCAPE_ANALYSIS | back to summary |
|---|---|
| public static final Optimizer. | |
| LITERAL_UPGRADE | back to summary |
|---|---|
| public static final Optimizer. | |
| MOVE_PARAM_COMBINER | back to summary |
|---|---|
| public static final Optimizer. | |
| SCCP | back to summary |
|---|---|
| public static final Optimizer. | |
| OptionalStep | back to summary |
|---|---|
| private OptionalStep() | |
| valueOf | back to summary |
|---|---|
| public static Optimizer. | |
| values | back to summary |
|---|---|
| public static Optimizer. | |