pub struct DataSegmentTracker {Show 23 fields
pub true_ptr: u32,
pub true_len: u32,
pub false_ptr: u32,
pub false_len: u32,
pub nil_ptr: u32,
pub nil_len: u32,
pub value_ptr: u32,
pub value_len: u32,
pub gas_exhausted_ptr: u32,
pub gas_exhausted_len: u32,
pub div_by_zero_ptr: u32,
pub div_by_zero_len: u32,
pub nan_ptr: u32,
pub nan_len: u32,
pub assert_failed_ptr: u32,
pub assert_failed_len: u32,
pub invariant_failed_ptr: u32,
pub invariant_failed_len: u32,
pub unwrap_failed_ptr: u32,
pub unwrap_failed_len: u32,
pub oom_ptr: u32,
pub oom_len: u32,
pub next_offset: u32,
}Expand description
Tracks data-segment offsets for well-known constant strings.
Built during module assembly (compiler.rs) and passed to runtime helpers
that need to reference string constants (e.g., val_to_string).
Fields§
§true_ptr: u32§true_len: u32§false_ptr: u32§false_len: u32§nil_ptr: u32§nil_len: u32§value_ptr: u32§value_len: u32§gas_exhausted_ptr: u32§gas_exhausted_len: u32§div_by_zero_ptr: u32§div_by_zero_len: u32§nan_ptr: u32§nan_len: u32§assert_failed_ptr: u32§assert_failed_len: u32§invariant_failed_ptr: u32§invariant_failed_len: u32§unwrap_failed_ptr: u32§unwrap_failed_len: u32§oom_ptr: u32§oom_len: u32§next_offset: u32Next free offset in the data segment.
Implementations§
Source§impl DataSegmentTracker
impl DataSegmentTracker
Sourcepub fn clone_tracker(&self) -> DataSegmentTrackerClone
pub fn clone_tracker(&self) -> DataSegmentTrackerClone
Create a clonable snapshot of this tracker.
Source§impl DataSegmentTracker
impl DataSegmentTracker
Sourcepub fn data_bytes(&self) -> Vec<u8> ⓘ
pub fn data_bytes(&self) -> Vec<u8> ⓘ
The raw bytes for the data segment — all well-known strings concatenated.
Sourcepub fn intern_string(&mut self, s: &str) -> (u32, u32)
pub fn intern_string(&mut self, s: &str) -> (u32, u32)
Intern a user string literal and return (offset, length). The caller must also append the bytes to the data segment.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DataSegmentTracker
impl RefUnwindSafe for DataSegmentTracker
impl Send for DataSegmentTracker
impl Sync for DataSegmentTracker
impl Unpin for DataSegmentTracker
impl UnwindSafe for DataSegmentTracker
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