pub struct MachTextSectionBuilder<I: VCodeInst> { /* private fields */ }
Expand description
Implementation of the TextSectionBuilder
trait backed by MachBuffer
.
Note that MachBuffer
was primarily written for intra-function references
of jumps between basic blocks, but it’s also quite usable for entire text
sections and resolving references between functions themselves. This
builder interprets “blocks” as labeled functions for the purposes of
resolving labels internally in the buffer.
Implementations§
source§impl<I: VCodeInst> MachTextSectionBuilder<I>
impl<I: VCodeInst> MachTextSectionBuilder<I>
sourcepub fn new(num_funcs: usize) -> MachTextSectionBuilder<I>
pub fn new(num_funcs: usize) -> MachTextSectionBuilder<I>
Creates a new text section builder which will have num_funcs
functions
pushed into it.
Trait Implementations§
source§impl<I: VCodeInst> TextSectionBuilder for MachTextSectionBuilder<I>
impl<I: VCodeInst> TextSectionBuilder for MachTextSectionBuilder<I>
source§fn append(
&mut self,
labeled: bool,
func: &[u8],
align: u32,
ctrl_plane: &mut ControlPlane
) -> u64
fn append( &mut self, labeled: bool, func: &[u8], align: u32, ctrl_plane: &mut ControlPlane ) -> u64
source§fn resolve_reloc(
&mut self,
offset: u64,
reloc: Reloc,
addend: Addend,
target: usize
) -> bool
fn resolve_reloc( &mut self, offset: u64, reloc: Reloc, addend: Addend, target: usize ) -> bool
Attempts to resolve a relocation for this function. Read more
source§fn force_veneers(&mut self)
fn force_veneers(&mut self)
A debug-only option which is used to for
Auto Trait Implementations§
impl<I> RefUnwindSafe for MachTextSectionBuilder<I>where <I as MachInst>::LabelUse: RefUnwindSafe,
impl<I> Send for MachTextSectionBuilder<I>where <I as MachInst>::LabelUse: Send,
impl<I> Sync for MachTextSectionBuilder<I>where <I as MachInst>::LabelUse: Sync,
impl<I> Unpin for MachTextSectionBuilder<I>where <I as MachInst>::LabelUse: Unpin,
impl<I> UnwindSafe for MachTextSectionBuilder<I>where <I as MachInst>::LabelUse: UnwindSafe + RefUnwindSafe,
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