|
My Project
|
Class for freezing value sets at a specific iteration (to accelerate convergence) More...
#include <rangeutil.hh>


Public Member Functions | |
| virtual int4 | determineIterationReset (const ValueSet &valueSet) |
| Upon entering a fresh partition, determine how the given ValueSet count should be reset. More... | |
| virtual bool | checkFreeze (const ValueSet &valueSet) |
| Check if the given value set has been frozen for the remainder of the iteration process. More... | |
| virtual bool | doWidening (const ValueSet &valueSet, CircleRange &range, const CircleRange &newRange) |
| For an iteration that isn't stabilizing attempt to widen the given ValueSet. More... | |
Public Member Functions inherited from Widener | |
| virtual | ~Widener (void) |
| Destructor. | |
Class for freezing value sets at a specific iteration (to accelerate convergence)
The value sets don't reach a true stable state but instead lock in a description of the first few values that reach a given Varnode. The ValueSetSolver does normal iteration, but individual ValueSets freeze after a specific number of iterations (3 by default), instead of growing to a true stable state. This gives evidence of iteration in the underlying code, showing the initial value and frequently the step size.
|
virtual |
Check if the given value set has been frozen for the remainder of the iteration process.
| valueSet | is the given value set |
Implements Widener.
|
virtual |
|
virtual |
For an iteration that isn't stabilizing attempt to widen the given ValueSet.
Change the given range based on its previous iteration so that it stabilizes more rapidly on future iterations.
| valueSet | is the given value set |
| range | is the previous form of the given range (and storage for the widening result) |
| newRange | is the current iteration of the given range |
Implements Widener.
1.8.13