#[repr(C)]pub struct _drreg_reserve_info_t {
pub size: usize,
pub reserved: bool_,
pub holds_app_value: bool_,
pub app_value_retained: bool_,
pub is_dr_slot: bool_,
pub opnd: opnd_t,
pub tls_offs: c_int,
}Expand description
Contains information about a register’s reservation and restoration status.
Fields§
§size: usizeThe size of this structure. It must be set by the caller before querying.
reserved: bool_Whether the register is currently reserved.
holds_app_value: bool_Whether the register currently holds the application value.
app_value_retained: bool_Whether 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: bool_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_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: c_intIf 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.
Trait Implementations§
Source§impl Clone for _drreg_reserve_info_t
impl Clone for _drreg_reserve_info_t
Source§fn clone(&self) -> _drreg_reserve_info_t
fn clone(&self) -> _drreg_reserve_info_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for _drreg_reserve_info_t
impl Debug for _drreg_reserve_info_t
impl Copy for _drreg_reserve_info_t
Auto Trait Implementations§
impl Freeze for _drreg_reserve_info_t
impl RefUnwindSafe for _drreg_reserve_info_t
impl Send for _drreg_reserve_info_t
impl Sync for _drreg_reserve_info_t
impl Unpin for _drreg_reserve_info_t
impl UnsafeUnpin for _drreg_reserve_info_t
impl UnwindSafe for _drreg_reserve_info_t
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more