Package proguard.optimize.peephole

This package contains visitors that perform various peephole optimizations.

See:
          Description

Class Summary
BranchTargetFinder This AttributeVisitor finds all instruction offsets, branch targets, and exception targets in the CodeAttribute objects that it visits.
ClassFinalizer This ClassVisitor and MemberVisitor makes the classes it visits, and their methods, final, if possible.
GotoCommonCodeReplacer This AttributeVisitor redirects unconditional branches so any common code is shared, and the code preceding the branch can be removed, in the code attributes that it visits.
GotoGotoReplacer This InstructionVisitor simplifies unconditional branches to other unconditional branches.
GotoReturnReplacer This InstructionVisitor replaces unconditional branches to return instructions by these same return instructions.
InstructionSequenceConstants This class contains a set of instruction sequences and their suggested replacements.
InstructionSequenceReplacer This InstructionVisitor replaces a given pattern instruction sequence by another given replacement instruction sequence.
InstructionSequencesReplacer This InstructionVisitor replaces multiple instruction sequences at once.
LoadStoreRemover This InstructionVisitor deletes load/store instruction pairs.
MemberPrivatizer This MemberVisitor makes all class members that it visits private, unless they have been marked by a NonPrivateMemberMarker.
MethodInliner This AttributeVisitor inlines short methods or methods that are only invoked once, in the code attributes that it visits.
NopRemover This InstructionVisitor removes all nop instructions that it encounters.
PeepholeOptimizer This AttributeVisitor sets up and applies the peephole optimizations of its instruction visitor.
PushPopRemover This InstructionVisitor deletes all push/pop instruction pairs.
ReachableCodeMarker This AttributeVisitor finds all instruction offsets, branch targets, and exception targets in the CodeAttribute objects that it visits.
SingleImplementationFixer This ClassVisitor cleans up after the SingleImplementationInliner.
SingleImplementationInliner This ClassVisitor replaces all references to interfaces that have single implementations by references to those implementations.
StoreLoadReplacer This InstructionVisitor replaces store/load instruction pairs by equivalent dup/store instruction pairs.
UnreachableCodeRemover This InstructionVisitor deletes blocks of code that can never be reached by regular calls or branches.
UnreachableExceptionRemover This AttributeVisitor removes exception handlers that are unreachable in the code attributes that it visits.
VariableShrinker This MemberVisitor removes unused local variables from the code of the methods that it visits.
 

Package proguard.optimize.peephole Description

This package contains visitors that perform various peephole optimizations.