class
SymbolicMemEngineDedicated memory engine handling the 'symbolic' memory state resulting from symbolic pointer writes.
Contents
- Reference
❱ Base classes
- class Serializable
- Virtual interface that serializable classes must implement.
❱ Public functions
-
void symbolic_ptr_write(const Expr& addr,
const Value& val,
addr_
t addr_min, addr_ t addr_max) - Record symbolic pointer write. 'addr_min' and 'addr_max' are the minimal and maximal concrete values that the 'addr' expression can take.
- void concrete_ptr_write(Expr addr, const Value& val)
- Record concrete pointer write.
- auto concrete_ptr_read(Expr addr, int nb_bytes, Expr base) -> Expr
- Read from concrete address 'addr'.
- auto symbolic_ptr_read(Expr& addr, ValueSet& addr_value_set, int nb_bytes, Expr base) -> Expr
- Read from symbolic address 'addr'. 'addr_value_set' is a reference to the set of values that can be taken by 'addr'.
-
auto contains_symbolic_write(addr_
t start, addr_ t end) -> bool - Return true if the memory area contains a recorded symbolic write.
- auto class_uid() const -> uid_t virtual
- Return the class uid (see ClassId enum)
-
void dump(serial::
Serializer&) const virtual - Dump the object contents in a serializer stream.
-
void load(serial::
Deserializer&) virtual - Restore an object from a deserializer stream.
❱ Public variables
- bool symptr_force_aligned
- If set to true, force symbolic pointers to be aligned with the size of the memory access. This can be used to reduce the set of possible ways memory content is affected by symbolic stores.