pub type drreg_reserve_info_t = _drreg_reserve_info_t;Expand description
Contains information about a register’s reservation and restoration status.
Aliased Type§
#[repr(C)]pub struct drreg_reserve_info_t {
pub size: usize,
pub reserved: i8,
pub holds_app_value: i8,
pub app_value_retained: i8,
pub is_dr_slot: i8,
pub opnd: opnd_t,
pub tls_offs: i32,
}Fields§
§size: usizeThe size of this structure. It must be set by the caller before querying.
reserved: i8Whether the register is currently reserved.
holds_app_value: i8Whether the register currently holds the application value.
app_value_retained: i8Whether the application’s value is stored somewhere (it may not be if the register is dead and \p conservative is not set in \p drreg_options_t).
is_dr_slot: i8True 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_tAn 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 \p app_value_retained is false, this is set to a null #opnd_t.
tls_offs: i32If 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.