Remove exception handlers that cover empty code blocks.
Remove exception handlers that cover empty code blocks. A block is considered empty if it consist only of labels, frames, line numbers, nops and gotos.
Note that no instructions are eliminated.
true
if some exception handler was eliminated.
Remove exception handlers that cover empty code blocks from all methods of clazz
.
Remove exception handlers that cover empty code blocks from all methods of clazz
.
Returns true
if any exception handler was eliminated.
Remove unreachable instructions from all (non-abstract) methods.
Remove unreachable instructions from all (non-abstract) methods.
The class whose methods are optimized
true
if unreachable code was elminated in some method, false
otherwise.
Remove all non-parameter entries from the local variable table which denote variables that are not actually read or written.
Remove all non-parameter entries from the local variable table which denote variables that are not actually read or written.
Note that each entry in the local variable table has a start, end and index. Two entries with the same index, but distinct start / end ranges are different variables, they may have not the same type or name.
TODO: also re-allocate locals to occupy fewer slots after eliminating unused ones
Intra-Method optimizations.