This class is used to keep track of the symbolic or concrete state of memory. Each bit represents one address (BYTE PTR). A bit set to 1 means that the value at the corresponding address is an abstract object, a bit to zero means that the value is a concrete numerical value.
Each byte in the bitmap represents a QWORD, so 8 bytes. The lower address is represented as the lowest significant bit of the bitmap byte. The higher address is represented by the highest significant bit.
HSB LSB 0 0 1 0 0 0 1 1 0x107----* * *--- 0x100 --- 0x104
Note: is_abstract_until() and is_concrete_until() functions take a 'max' parameter. This parameter specifies the maximum number of bytes we want to check for before returning. It is used to reduce the overhead that appears when checking a huge memory area of the same type when we want to write only a few bytes. Therefore, for performance reasons, it is possible for the functions to return an offset bigger than off+nb_bytes-1, just keep that in mind when using it.
- class Serializable
- Virtual interface that serializable classes must implement.
- auto class_uid() const -> uid_t virtual
- Return the class uid (see ClassId enum)
Serializer&) const virtual
- Dump the object contents in a serializer stream.
- Restore an object from a deserializer stream.
❱ Function documentation
MemStatusBitmap:: ~MemStatusBitmap() virtual