public interface

IEMasterOptimizer

implements IMasterOptimizer<T>
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.opt.IEMasterOptimizer
Known Indirect Subclasses

Class Overview

Base interface for IR master optimizers. The standard implementation is EMasterOptimizer.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IMasterOptimizer
Public Methods
abstract void addDefaultInput(int bit, IEImm val)
abstract void addDisregardedOutputBits(Collection<Integer> disregardedOutputBits)
abstract void addDisregardedOutputFilter(IEOptFilterCanDiscard filter)
abstract void addDisregardedOutputVariables(Collection<? extends IEVar> disregardedOutputVars)
abstract boolean canDiscardUnusedDefinition(IERoutineContext ectx, DFA<IEStatement> dfa, long insnAddress, int def)
Check if a variable definition, unused by the routine, and reaching a routine exit point, can be safely discarded.
abstract IEImm getDefaultInput(int reg)
abstract Set<Integer> getDisregardedOutputRegisters()
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.opt.IMasterOptimizer

Public Methods

public abstract void addDefaultInput (int bit, IEImm val)

public abstract void addDisregardedOutputBits (Collection<Integer> disregardedOutputBits)

public abstract void addDisregardedOutputFilter (IEOptFilterCanDiscard filter)

public abstract void addDisregardedOutputVariables (Collection<? extends IEVar> disregardedOutputVars)

public abstract boolean canDiscardUnusedDefinition (IERoutineContext ectx, DFA<IEStatement> dfa, long insnAddress, int def)

Check if a variable definition, unused by the routine, and reaching a routine exit point, can be safely discarded. The implementation may depend on the master optimizer's mode.

Parameters
dfa a data flow analysis object on a CFG

public abstract IEImm getDefaultInput (int reg)

public abstract Set<Integer> getDisregardedOutputRegisters ()