wasmtime_environ

Struct AddressMapSection

source
pub struct AddressMapSection { /* private fields */ }
Expand description

Builder for the address map section of a wasmtime compilation image.

This builder is used to conveniently built the ELF_WASMTIME_ADDRMAP section by compilers, and provides utilities to directly insert the results into an Object.

Implementations§

source§

impl AddressMapSection

source

pub fn push(&mut self, func: Range<u64>, instrs: &[InstructionAddressMap])

Pushes a new set of instruction mapping information for a function added in the executable.

The func argument here is the range of the function, relative to the start of the text section in the executable. The instrs provided are the descriptors for instructions in the function and their various mappings back to original source positions.

This is required to be called for func values that are strictly increasing in addresses (e.g. as the object is built). Additionally the instrs map must be sorted based on code offset in the native text section.

source

pub fn append_to(self, obj: &mut Object<'_>)

Finishes encoding this section into the Object provided.

Trait Implementations§

source§

impl Default for AddressMapSection

source§

fn default() -> AddressMapSection

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.