pub enum InlineTraceInfo {
OutOfLine,
Array {
elems_are_gc_refs: bool,
},
Struct {
gc_ref_bitmap: u32,
},
}Expand description
The inline trace info encoded in a VMCopyingHeader’s reserved bits.
Variants§
OutOfLine
The trace info is not encoded inline. Look it up from TraceInfos.
Array
Inline trace info for an array type.
Struct
Inline trace info for a struct, exception, or externref type.
Implementations§
Source§impl InlineTraceInfo
impl InlineTraceInfo
Sourcepub const NO_GC_EDGES: InlineTraceInfo
pub const NO_GC_EDGES: InlineTraceInfo
Inline trace info for an object with no GC-reference edges (e.g.
externrefs). This is a Struct with an empty bitmap.
Sourcepub fn array(layout: &GcArrayLayout) -> Self
pub fn array(layout: &GcArrayLayout) -> Self
Create inline trace info for an array type.
Arrays can always be represented inline (only one bit of payload is
needed), so this never returns OutOfLine.
Sourcepub fn struct(layout: &GcStructLayout) -> Self
pub fn struct(layout: &GcStructLayout) -> Self
Create inline trace info for a struct or exception type.
Returns OutOfLine only when there is a GC-reference field whose
offset cannot be represented in the 23-bit bitmap. Non-GC-reference
fields are ignored regardless of offset.
Trait Implementations§
Source§impl Clone for InlineTraceInfo
impl Clone for InlineTraceInfo
Source§fn clone(&self) -> InlineTraceInfo
fn clone(&self) -> InlineTraceInfo
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 InlineTraceInfo
impl Debug for InlineTraceInfo
impl Copy for InlineTraceInfo
Auto Trait Implementations§
impl Freeze for InlineTraceInfo
impl RefUnwindSafe for InlineTraceInfo
impl Send for InlineTraceInfo
impl Sync for InlineTraceInfo
impl Unpin for InlineTraceInfo
impl UnsafeUnpin for InlineTraceInfo
impl UnwindSafe for InlineTraceInfo
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