pub struct CodeBufferFinalized { /* private fields */ }Expand description
A CodeBuffer once emission is completed: holds generated code and records,
without fixups. This allows the type to be independent of the backend.
Implementations§
Source§impl CodeBufferFinalized
impl CodeBufferFinalized
pub fn total_size(&self) -> usize
pub fn data(&self) -> &[u8] ⓘ
pub fn data_mut(&mut self) -> &mut [u8] ⓘ
pub fn symbol_name(&self, sym: Sym) -> &ExternalName
pub fn symbol_distance(&self, sym: Sym) -> RelocDistance
pub fn relocs(&self) -> &[AsmReloc]
pub fn alignment(&self) -> u32
Sourcepub fn allocate(
&self,
jit_allocator: &mut JitAllocator,
) -> Result<Span, AsmError>
pub fn allocate( &self, jit_allocator: &mut JitAllocator, ) -> Result<Span, AsmError>
Allocate this code buffer in executable memory and return a Span referring to it.
This will also write the code into the allocated memory. To execute
code you can simply use span.rx() to get a pointer to read+exec memory
and transmute that to a function pointer of the appropriate type.
Source§impl CodeBufferFinalized
impl CodeBufferFinalized
pub fn patch_catalog(&self) -> &PatchCatalog
pub fn allocate_patched( &self, jit_allocator: &mut JitAllocator, ) -> Result<LoadedPatchableCode, AsmError>
Auto Trait Implementations§
impl Freeze for CodeBufferFinalized
impl RefUnwindSafe for CodeBufferFinalized
impl Send for CodeBufferFinalized
impl Sync for CodeBufferFinalized
impl Unpin for CodeBufferFinalized
impl UnsafeUnpin for CodeBufferFinalized
impl UnwindSafe for CodeBufferFinalized
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