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 ILogger | logger |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AbstractOptimizer() | |||||||||||
AbstractOptimizer(T target) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
OptimizerClassId |
getClassId()
Retrieve the class id of this optimizer.
| ||||||||||
double |
getDefaultPriority()
Return a default priority: 0.
| ||||||||||
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.
| ||||||||||
int |
getRequiredModeThreshold()
Specify the maximum master-optimizer threshold.
| ||||||||||
T |
getTarget()
Get the optimizer's target.
| ||||||||||
OptimizerType |
getType()
Retrieve the type of this optimizer.
| ||||||||||
void | setPostProcessingActionFlags(int postProcActionFlags) | ||||||||||
T |
setTarget(T target)
Set the optimizer's target.
|
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(int threshold)
Set the threshold.
| ||||||||||
void |
setType(OptimizerType type)
Set the type of optimizer.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() |
Return a default priority: 0.
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.
Get the optimizer's target.
Set the optimizer's target.
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 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).