public interface ISolverMonitoring<StateType extends IState<StateType,ContextType,?>,ContextType extends IContext<ContextType>>
This interface contains callbacks for solver-specific operations.
Modifier and Type | Method and Description |
---|---|
boolean |
allowNextIteration()
Returns true if the fixpoint solver should continue with its next iteration or abort early and unsoundly.
|
void |
visitBlockTransferPost(BasicBlock b,
StateType s)
Invoked immediately after processing a block transfer.
|
void |
visitBlockTransferPre(BasicBlock b,
StateType s)
Invoked immediately before processing a block transfer.
|
void |
visitFunction(Function f,
java.util.Collection<StateType> entry_states)
Invoked when a function is encountered in the scan phase.
|
void |
visitIterationDone(java.lang.String terminatedEarlyMsg)
Invoked when dataflow solver iteration is done (not necessarily with success).
|
void |
visitNewFlow(BasicBlock b,
ContextType c,
StateType s,
java.lang.String diff,
java.lang.String info)
Invoked when new dataflow is being propagated.
|
void |
visitNodeTransferPost(AbstractNode n,
StateType s)
Invoked immediately after processing a node transfer.
|
void |
visitNodeTransferPre(AbstractNode n,
StateType s)
Invoked immediately before processing a node transfer.
|
void |
visitPropagationPost(BlockAndContext<ContextType> from,
BlockAndContext<ContextType> to,
boolean changed)
Invoked immediately after propagating dataflow from one location to another.
|
void |
visitPropagationPre(BlockAndContext<ContextType> from,
BlockAndContext<ContextType> to)
Invoked immediately before propagating dataflow from one location to another.
|
boolean allowNextIteration()
void visitBlockTransferPost(BasicBlock b, StateType s)
void visitBlockTransferPre(BasicBlock b, StateType s)
void visitFunction(Function f, java.util.Collection<StateType> entry_states)
void visitIterationDone(java.lang.String terminatedEarlyMsg)
terminatedEarlyMsg
- message about premature termination, if non-nullvoid visitNewFlow(BasicBlock b, ContextType c, StateType s, java.lang.String diff, java.lang.String info)
void visitNodeTransferPost(AbstractNode n, StateType s)
void visitNodeTransferPre(AbstractNode n, StateType s)
void visitPropagationPost(BlockAndContext<ContextType> from, BlockAndContext<ContextType> to, boolean changed)
changed
- true if the destination state was changedvisitPropagationPre(BlockAndContext, BlockAndContext)
void visitPropagationPre(BlockAndContext<ContextType> from, BlockAndContext<ContextType> to)
ParallelTransfer
.)Copyright © 2009-2019 Aarhus University