[][src]Trait mmtk::TraceLocal

pub trait TraceLocal: TransitiveClosure {
    pub fn process_roots(&mut self);
pub fn process_root_edge(&mut self, slot: Address, untraced: bool);
pub fn trace_object(&mut self, object: ObjectReference) -> ObjectReference;
pub fn complete_trace(&mut self);
pub fn release(&mut self);
pub fn process_interior_edge(
        &mut self,
        target: ObjectReference,
        slot: Address,
        root: bool
    );
pub fn report_delayed_root_edge(&mut self, slot: Address);
pub fn will_not_move_in_current_collection(
        &self,
        obj: ObjectReference
    ) -> bool; pub fn overwrite_reference_during_trace(&self) -> bool { ... }
pub fn get_forwarded_reference(
        &mut self,
        object: ObjectReference
    ) -> ObjectReference { ... }
pub fn get_forwarded_referent(
        &mut self,
        object: ObjectReference
    ) -> ObjectReference { ... }
pub fn retain_referent(
        &mut self,
        object: ObjectReference
    ) -> ObjectReference { ... } }

This trait and its global counterpart implement the core functionality for a transitive closure over the heap graph. This trait specifically implements the unsynchronized thread-local component (ie the 'fast-path') of the trace mechanism.

Required methods

pub fn process_roots(&mut self)[src]

pub fn process_root_edge(&mut self, slot: Address, untraced: bool)[src]

pub fn trace_object(&mut self, object: ObjectReference) -> ObjectReference[src]

pub fn complete_trace(&mut self)[src]

pub fn release(&mut self)[src]

pub fn process_interior_edge(
    &mut self,
    target: ObjectReference,
    slot: Address,
    root: bool
)
[src]

pub fn report_delayed_root_edge(&mut self, slot: Address)[src]

pub fn will_not_move_in_current_collection(&self, obj: ObjectReference) -> bool[src]

Loading content...

Provided methods

pub fn overwrite_reference_during_trace(&self) -> bool[src]

pub fn get_forwarded_reference(
    &mut self,
    object: ObjectReference
) -> ObjectReference
[src]

pub fn get_forwarded_referent(
    &mut self,
    object: ObjectReference
) -> ObjectReference
[src]

pub fn retain_referent(&mut self, object: ObjectReference) -> ObjectReference[src]

Loading content...

Implementors

Loading content...