java.lang.Object | ||
↳ | com.pnfsoftware.jeb.core.AbstractPlugin | |
↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.AbstractOptimizer<T extends com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IOptimizerTarget> |
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
public static final ILogger | logger | Public logger accessible by the implementing optimizer. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AbstractOptimizer() | |||||||||||
AbstractOptimizer(T target) |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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 |
getPreferredExecutionStage()
This method is used for on-demand optimizers only.
| ||||||||||
final double |
getPriority()
The standard implementation provides a
standard priority
of 0 . | ||||||||||
OptimizerMode |
getRequiredModeThreshold()
Specify the minimum bar requested from the orchestrator in order to run.
| ||||||||||
Set<String> |
getTags()
Get the optimizer tags.
| ||||||||||
OptimizerType |
getType()
Retrieve the type of this optimizer.
| ||||||||||
void |
setMasterOptimizer(IMasterOptimizer<T> mo)
Set an optional master optimizer that manages this optimizer.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | addTag(String tag) | ||||||||||
void | removeTag(String tag) | ||||||||||
void | setName(String name) | ||||||||||
void |
setPreferredExecutionStage(int preferredExecStage)
Use only for type
ON_DEMAND . | ||||||||||
void |
setPriority(double priority)
Set the optimizer priority.
| ||||||||||
void |
setRequiredModeThreshold(OptimizerMode 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
|
Public logger accessible by the implementing optimizer. Writing to the logger should be
favored over writing directly to stdout
.
Retrieve the optional master optimizer that manages this optimizer.
Retrieve basic information about the plugin, such as name, version, author, and organization.
This method is used for on-demand optimizers only.
The standard implementation provides a standard priority
of 0
.
Specify the minimum bar requested from the orchestrator in order to run. If that bar is not
met, the orchestrator should not run the optimizer. Refer to AbstractMasterOptimizer
for existing thresholds.
Get the optimizer tags. An optimizer may have 0, 1, or more tags. A tag is a non-null, non-empty string.
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 |
---|
Set the optimizer priority. To be used by the constructor.
priority | the new priority (high means higher priority). When optimizers are managed and run by an orchestrator, the optimizers with a higher priority are run before those having a lower priority. The default priority is 0. |
---|
Set the threshold. The default value AbstractMasterOptimizer#MODE_NORMAL.