proguard.optimize.peephole |
This package contains visitors that perform various peephole optimizations.
|
Java Source File Name | Type | Comment |
BranchTargetFinder.java | Class | This AttributeVisitor finds all instruction offsets, branch targets, and
exception targets in the CodeAttribute objects that it visits. |
ClassFinalizer.java | Class | This ClassVisitor and MemberVisitor
makes the classes it visits, and their methods, final, if possible. |
GotoCommonCodeReplacer.java | Class | 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.java | Class | This InstructionVisitor simplifies unconditional branches to other
unconditional branches. |
GotoReturnReplacer.java | Class | This InstructionVisitor replaces unconditional branches to return instructions
by these same return instructions. |
InstructionSequenceConstants.java | Class | This class contains a set of instruction sequences and their suggested
replacements. |
InstructionSequenceReplacer.java | Class | This InstructionVisitor replaces a given pattern instruction sequence by
another given replacement instruction sequence. |
InstructionSequencesReplacer.java | Class | This InstructionVisitor replaces multiple instruction sequences at once. |
LoadStoreRemover.java | Class | This InstructionVisitor deletes load/store instruction pairs. |
MemberPrivatizer.java | Class | This MemberVisitor makes all class members that it visits private, unless they
have been marked by a NonPrivateMemberMarker. |
MethodInliner.java | Class | This AttributeVisitor inlines short methods or methods that are only invoked
once, in the code attributes that it visits. |
NopRemover.java | Class | This InstructionVisitor removes all nop instructions that it encounters. |
PeepholeOptimizer.java | Class | This AttributeVisitor sets up and applies the peephole optimizations of its
instruction visitor. |
PushPopRemover.java | Class | This InstructionVisitor deletes all push/pop instruction pairs. |
ReachableCodeMarker.java | Class | This AttributeVisitor finds all instruction offsets, branch targets, and
exception targets in the CodeAttribute objects that it visits. |
SingleImplementationFixer.java | Class | This ClassVisitor cleans up after the SingleImplementationInliner.
It fixes the names of interfaces that have single implementations, lets
the implementations and fields references point to them again. |
SingleImplementationInliner.java | Class | This ClassVisitor replaces all references to interfaces that have single
implementations by references to those implementations. |
StoreLoadReplacer.java | Class | This InstructionVisitor replaces store/load instruction pairs by equivalent
dup/store instruction pairs. |
UnreachableCodeRemover.java | Class | This InstructionVisitor deletes blocks of code that can never be reached by
regular calls or branches. |
UnreachableExceptionRemover.java | Class | This AttributeVisitor removes exception handlers that are unreachable in the
code attributes that it visits. |
VariableShrinker.java | Class | This MemberVisitor removes unused local variables from the code of the methods
that it visits. |