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 makes the program classes that it visits final, if possible.
ClassMerger This ClassVisitor inlines the classes that it visits in a given target class, whenever 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.
HorizontalClassMerger This ClassVisitor inlines siblings in the program classes that it visits, whenever possible.
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.
MemberPrivatizer This MemberVisitor makes all class members that it visits private, unless they have been marked by a NonPrivateMemberMarker.
MethodFinalizer This MemberVisitor makes the program methods that it visits final, if possible.
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.
ReachableCodeMarker This AttributeVisitor finds all instruction offsets, branch targets, and exception targets in the CodeAttribute objects that it visits.
RetargetedInnerClassAttributeRemover This ClassVisitor removes InnerClasses and EnclosingMethod attributes in classes that are retargeted or that refer to classes that are retargeted.
TargetClassChanger This ClassVisitor replaces references to classes and class members if the classes have targets that are intended to replace them.
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.
VerticalClassMerger This ClassVisitor inlines the direct subclasses into the program classes that it visits, whenever possible.
 

Package proguard.optimize.peephole Description

This package contains visitors that perform various peephole optimizations.