| java.lang.Object | ||
| ↳ | com.pnfsoftware.jeb.core.AbstractPlugin | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T> | |
Known Direct Subclasses
|
Known Indirect Subclasses
|
Skeleton for a generic artifact optimizer.
|
[Expand]
Inherited Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
| |||||||||||
| 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.pnfsoftware.jeb.core.AbstractPlugin
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.core.IPlugin
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizer
| |||||||||||
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).