proguard.optimize.peephole
Class LoadStoreRemover
java.lang.Object
proguard.optimize.peephole.LoadStoreRemover
- All Implemented Interfaces:
- InstructionVisitor
- public class LoadStoreRemover
- extends Object
- implements InstructionVisitor
This InstructionVisitor deletes load/store instruction pairs.
|
Method Summary |
void |
visitBranchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
BranchInstruction branchInstruction)
|
void |
visitCpInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
CpInstruction cpInstruction)
|
void |
visitLookUpSwitchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
LookUpSwitchInstruction lookUpSwitchInstruction)
|
void |
visitSimpleInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
SimpleInstruction simpleInstruction)
|
void |
visitTableSwitchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
TableSwitchInstruction tableSwitchInstruction)
|
void |
visitVariableInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
VariableInstruction variableInstruction)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LoadStoreRemover
public LoadStoreRemover(BranchTargetFinder branchTargetFinder,
CodeAttrInfoEditor codeAttrInfoEditor)
- Creates a new LoadStoreRemover.
- Parameters:
branchTargetFinder - a branch target finder that has been
initialized to indicate branch targets
in the visited code.codeAttrInfoEditor - a code editor that can be used for
accumulating changes to the code.
visitSimpleInstruction
public void visitSimpleInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
SimpleInstruction simpleInstruction)
- Specified by:
visitSimpleInstruction in interface InstructionVisitor
visitCpInstruction
public void visitCpInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
CpInstruction cpInstruction)
- Specified by:
visitCpInstruction in interface InstructionVisitor
visitBranchInstruction
public void visitBranchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
BranchInstruction branchInstruction)
- Specified by:
visitBranchInstruction in interface InstructionVisitor
visitTableSwitchInstruction
public void visitTableSwitchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
TableSwitchInstruction tableSwitchInstruction)
- Specified by:
visitTableSwitchInstruction in interface InstructionVisitor
visitLookUpSwitchInstruction
public void visitLookUpSwitchInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
LookUpSwitchInstruction lookUpSwitchInstruction)
- Specified by:
visitLookUpSwitchInstruction in interface InstructionVisitor
visitVariableInstruction
public void visitVariableInstruction(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
int offset,
VariableInstruction variableInstruction)
- Specified by:
visitVariableInstruction in interface InstructionVisitor