com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IMasterOptimizer<T> |
![]() |
Definition of a master optimizer, whose role is to manage and orchestrate the execution of individual optimizers.
Note about optimizer groups: currently, the way optimizers are run is as follows:
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | DEFAULT_GROUP |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract OptimizerMode |
getMode()
Retrieve the current operating mode for this MO.
| ||||||||||
abstract int | getOptimizationCount(boolean deobfuscationOnly) | ||||||||||
abstract OptimizerEntry<T> | getOptimizer(Class<? extends IOptimizer<T>> clazz) | ||||||||||
abstract IOptimizer<T> | getOptimizerObject(Class<? extends IOptimizer<T>> clazz) | ||||||||||
abstract List<OptimizerEntry<T>> |
getRegisteredOptimizers(int groupId)
Get a copy of the lists of optimizer entries registered with this MO and belonging to the
provided optimizer group.
| ||||||||||
abstract List<OptimizerEntry<T>> |
getRegisteredOptimizers()
Get a copy of the list of optimizer entries registered with this MO.
| ||||||||||
abstract T |
getTarget()
Get the target onto which the optimizations will be performed.
| ||||||||||
abstract int | getTotalOptimizationCount() | ||||||||||
abstract int |
perform()
Perform an optimization pass.
| ||||||||||
abstract int |
performMultiple(List<OptimizerEntry<T>> list)
Perform the provided optimizations, in sequence (which must have been previously registered).
| ||||||||||
abstract int |
performSingle(OptimizerEntry<T> e)
Perform a single optimization, using the provided optimizer (which must have been previously
registered).
| ||||||||||
abstract void |
registerInstrumenter(IMasterOptimizerInstrumenter<T> instrumenter)
Register an instrumenter.
| ||||||||||
abstract OptimizerEntry<T> |
registerOptimizer(int group, IOptimizer<T> opt)
Register an optimizer, using the optimizer's provided default priority.
| ||||||||||
abstract OptimizerEntry<T> |
registerOptimizer(IOptimizer<T> opt)
Register an optimizer to the
main group , using the optimizer's
provided default priority. | ||||||||||
abstract OptimizerEntry<T> |
registerOptimizer(int group, IOptimizer<T> opt, double priority)
Register an optimizer.
| ||||||||||
abstract OptimizerMode | setMode(OptimizerMode OptimizerMode) | ||||||||||
abstract void |
setTarget(T t)
Set the optimizer's target.
| ||||||||||
abstract boolean |
unregisterInstrumenter(IMasterOptimizerInstrumenter<T> instrumenter)
Unregister an instrumenter
| ||||||||||
abstract boolean |
unregisterOptimizer(OptimizerEntry<T> entry)
Remove an optimizer.
|
Retrieve the current operating mode for this MO.
Get a copy of the lists of optimizer entries registered with this MO and belonging to the provided optimizer group.
Get a copy of the list of optimizer entries registered with this MO.
Get the target onto which the optimizations will be performed.
Perform an optimization pass. All the optimizers will be run according to this master's schedule. They may be run multiple times.
Perform the provided optimizations, in sequence (which must have been previously registered).
Perform a single optimization, using the provided optimizer (which must have been previously registered).
Register an instrumenter. Instrumenters will be called following their registration order.
Register an optimizer, using the optimizer's provided default priority. Refer to
getDefaultPriority()
.
Register an optimizer to the main group
, using the optimizer's
provided default priority. Refer to getDefaultPriority()
.
Register an optimizer.
Set the optimizer's target.
Unregister an instrumenter