pub struct SFrameFRE {
pub start_address: SFrameFREStartAddress,
pub info: SFrameFREInfo,
pub stack_offsets: Vec<SFrameFREStackOffset>,
}Expand description
Fields§
§start_address: SFrameFREStartAddressStart address (in offset form) of the function
info: SFrameFREInfoFRE info
stack_offsets: Vec<SFrameFREStackOffset>Stack offsets to access CFA, FP and RA
Implementations§
Source§impl SFrameFRE
impl SFrameFRE
Sourcepub fn get_cfa_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
pub fn get_cfa_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
Get CFA offset against base reg (for Default FDE type)
Sourcepub fn get_ra_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
pub fn get_ra_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
Get RA offset against CFA (for Default FDE type)
For s390x, the returned value may represent:
- A stack slot offset if the LSB is 0
- A DWARF register number (encoded as (regnum << 1) | 1) if the LSB is 1
- SFRAME_FRE_RA_OFFSET_INVALID (0) if RA is not saved
Sourcepub fn get_fp_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
pub fn get_fp_offset(&self, section: &SFrameSection<'_>) -> Option<i32>
Get FP offset against CFA (for Default FDE type)
For s390x, the returned value may represent:
- A stack slot offset if the LSB is 0
- A DWARF register number (encoded as (regnum << 1) | 1) if the LSB is 1
Sourcepub fn get_flex_recovery_rules(&self) -> Option<SFrameFlexRecoveryRules>
pub fn get_flex_recovery_rules(&self) -> Option<SFrameFlexRecoveryRules>
Get Flex FDE recovery rules
For flexible FDE types, returns the recovery rules for CFA, RA, and FP. Each rule consists of a Control Data word and an Offset Data word.
Returns None if the data is invalid.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SFrameFRE
impl RefUnwindSafe for SFrameFRE
impl Send for SFrameFRE
impl Sync for SFrameFRE
impl Unpin for SFrameFRE
impl UnwindSafe for SFrameFRE
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
Mutably borrows from an owned value. Read more