pub struct TraceMetadata {
pub chunk_op_hash: u64,
pub anchor_ip: usize,
pub fallthrough_ip: usize,
pub ops: Vec<Op>,
pub recorded_ips: Vec<usize>,
pub slot_kinds_at_anchor: Vec<SlotKind>,
}Expand description
Serializable trace metadata for persistent cache export/import (phase 7).
Captures everything needed to re-compile a previously-installed trace
in a fresh process: the original recorded op sequence, the parallel
bytecode IPs, the slot-type entry guard, and the fallthrough IP. Bind
to the chunk via chunk_op_hash so a stale metadata file (chunk has
changed) is rejected on import rather than silently mis-compiled.
Persistence format is intentionally serde-based so callers can pick
whatever encoding fits their environment (JSON, bincode, custom binary).
fusevm itself doesn’t ship a file format — JitCompiler::export_trace
returns the struct, import_trace consumes one. The user owns I/O.
Fields§
§chunk_op_hash: u64§anchor_ip: usize§fallthrough_ip: usize§ops: Vec<Op>§recorded_ips: Vec<usize>§slot_kinds_at_anchor: Vec<SlotKind>Trait Implementations§
Source§impl Clone for TraceMetadata
impl Clone for TraceMetadata
Source§fn clone(&self) -> TraceMetadata
fn clone(&self) -> TraceMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TraceMetadata
impl Debug for TraceMetadata
Source§impl<'de> Deserialize<'de> for TraceMetadata
impl<'de> Deserialize<'de> for TraceMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TraceMetadata
impl RefUnwindSafe for TraceMetadata
impl Send for TraceMetadata
impl Sync for TraceMetadata
impl Unpin for TraceMetadata
impl UnsafeUnpin for TraceMetadata
impl UnwindSafe for TraceMetadata
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