DynamoRIO
|
#include <drreg.h>
Data Fields | |
size_t | size |
bool | reserved |
bool | holds_app_value |
bool | app_value_retained |
bool | is_dr_slot |
opnd_t | opnd |
int | tls_offs |
Detailed Description
Contains information about a register's reservation and restoration status.
Field Documentation
◆ app_value_retained
bool _drreg_reserve_info_t::app_value_retained |
Whether the application's value is stored somewhere (it may not be if the register is dead and conservative
is not set in drreg_options_t
).
◆ holds_app_value
bool _drreg_reserve_info_t::holds_app_value |
Whether the register currently holds the application value.
◆ is_dr_slot
bool _drreg_reserve_info_t::is_dr_slot |
True if the register's TLS slot is a DR slot (and can thus be accessed by dr_read_saved_reg()) and false if either the slot is inside the dr_raw_tls_calloc() allocation used by drreg or the "slot" is another register.
◆ opnd
opnd_t _drreg_reserve_info_t::opnd |
An operand that references the location storing the application value. If too many slots are in use and the register is stored in a non-directly-addressable slot, this is set to a null opnd_t. If the register is being kept in a different register, this will be a register operand holding that location. If app_value_retained
is false, this is set to a null opnd_t.
◆ reserved
bool _drreg_reserve_info_t::reserved |
Whether the register is currently reserved.
◆ size
size_t _drreg_reserve_info_t::size |
The size of this structure. It must be set by the caller before querying.
◆ tls_offs
int _drreg_reserve_info_t::tls_offs |
If the register's application value is not stored in a TLS slot, this is -1. If so, and the slot is a DR slot, this holds the DR slot index; if it is not a DR slot, this holds the offset from the TLS base of the slot assigned to the register.
The documentation for this struct was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/ext/drreg/drreg.h