java.lang.Object | ||
↳ | com.pnfsoftware.jeb.core.AbstractPlugin | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T> |
![]() |
![]() |
Skeleton for a generic artifact optimizer.
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
protected static final StructuredLogger | logger |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AbstractOptimizer() | |||||||||||
AbstractOptimizer(T target) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
OptimizerClassId |
getClassId()
Retrieve the class id of this optimizer.
| ||||||||||
double |
getDefaultPriority()
The standard implementation provides a
standard priority
of 0 . | ||||||||||
IMasterOptimizer<T> |
getMasterOptimizer()
Retrieve the optional master optimizer that manages this optimizer.
| ||||||||||
String | getName() | ||||||||||
EditablePluginInformation |
getPluginInformation()
Retrieve basic information about the plugin, such as name, version, author, and organization.
| ||||||||||
int |
getPostProcessingAction()
Get the action that should be executed after the optimizer was executed successfully and
optimized code.
| ||||||||||
int |
getPreferredExecutionStage()
This method is used for on-demand optimizers only.
| ||||||||||
OptimizerMode |
getRequiredModeThreshold()
Specify the maximum master-optimizer threshold.
| ||||||||||
OptimizerType |
getType()
Retrieve the type of this optimizer.
| ||||||||||
void |
setMasterOptimizer(IMasterOptimizer<T> mo)
Set an optional master optimizer that manages this optimizer.
| ||||||||||
void | setPostProcessingActionFlags(int postProcActionFlags) |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | setClassId(OptimizerClassId classId) | ||||||||||
void | setName(String name) | ||||||||||
void |
setPreferredExecutionStage(int preferredExecStage)
Use only for type
ON_DEMAND . | ||||||||||
void | setPreferredStage(int preferredExecStage) | ||||||||||
void |
setRequiredModeThreshold(OptimizerMode threshold)
Set the threshold.
| ||||||||||
void |
setType(OptimizerType type)
Set the type of optimizer.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() |
The standard implementation provides a standard priority
of 0
.
Retrieve the optional master optimizer that manages this optimizer.
Retrieve basic information about the plugin, such as name, version, author, and organization.
Get the action that should be executed after the optimizer was executed successfully and optimized code. Post-processing actions may involve re-optimizing; if so, re-optimizations are not performed recursively, ie, post-processing actions will not trigger additional post-processing actions.
PPA_*
constants; 0 means none
This method is used for on-demand optimizers only.
Specify the maximum master-optimizer threshold. Refer to AbstractMasterOptimizer
for
existing thresholds.
Set an optional master optimizer that manages this optimizer.
mo | optional |
---|
Use only for type ON_DEMAND
. Disregarded for other types. Leave to 0
for pure on-demand.
preferredExecStage | id such that abs(id) is in [1, 99] ; use positive value for post-stage execution, negative value for pre-stage execution |
---|
Use setPreferredExecutionStage(int)
. Left out for backward compatibility with
existing plugins
Set the threshold. The default value AbstractMasterOptimizer#MODE_NORMAL.
Set the type of optimizer. The default is STANDARD
. Optimizers with a
type ON_DEMAND
must also set their preferred execution stage
(else they will never run).