pub struct FrameTableBuilder { /* private fields */ }
Expand description
Builder for the Frame Table.
Format:
num_slot_descriptors
: u32num_progpoints
: u32frame_descriptor_pool_length
: u32progpoint_descriptor_pool_length
; U32num_slot_descriptors
times:- frame descriptor offset: u32
- length: u32
num_slot_descriptors
times:- offset from frame up to FP: u32
num_progpoints
times:- PC, from start of text section, position (post/pre): u32
- encoded as (pc << 1) | post_pre_bit
- PC, from start of text section, position (post/pre): u32
num_progpoints
times:- progpoint descriptor offset: u32
- frame descriptors (format described above;
frame_descriptor_pool_length
bytes) - progpoint descriptors (
progpoint_descriptor_pool_length
bytes)- each descriptor: sequence of frames
- Wasm PC: u32 (high bit set to indicate a parent frame)
- slot descriptor index: u32
- stack shape index: u32 (or u32::MAX for none)
- each descriptor: sequence of frames
Implementations§
Source§impl FrameTableBuilder
impl FrameTableBuilder
Sourcepub fn add_frame_descriptor(
&mut self,
slot_to_fp_offset: u32,
data: &[u8],
) -> FrameTableDescriptorIndex
pub fn add_frame_descriptor( &mut self, slot_to_fp_offset: u32, data: &[u8], ) -> FrameTableDescriptorIndex
Add one frame descriptor.
Returns the frame descriptor index.
Sourcepub fn add_program_point(
&mut self,
native_pc: u32,
pos: FrameInstPos,
frames: &[(u32, FrameTableDescriptorIndex, FrameStackShape)],
)
pub fn add_program_point( &mut self, native_pc: u32, pos: FrameInstPos, frames: &[(u32, FrameTableDescriptorIndex, FrameStackShape)], )
Add one program point.
Trait Implementations§
Source§impl Default for FrameTableBuilder
impl Default for FrameTableBuilder
Source§fn default() -> FrameTableBuilder
fn default() -> FrameTableBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FrameTableBuilder
impl RefUnwindSafe for FrameTableBuilder
impl Send for FrameTableBuilder
impl Sync for FrameTableBuilder
impl Unpin for FrameTableBuilder
impl UnwindSafe for FrameTableBuilder
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