Trait mmtk::plan::generational::global::GenerationalPlanExt
source · pub trait GenerationalPlanExt<VM: VMBinding>: GenerationalPlan<VM = VM> {
// Required method
fn trace_object_nursery<Q: ObjectQueue, const KIND: u8>(
&self,
queue: &mut Q,
object: ObjectReference,
worker: &mut GCWorker<VM>
) -> ObjectReference;
}
Expand description
This trait is the extension trait for GenerationalPlan
(see Rust’s extension trait pattern).
Generally any method should be put to GenerationalPlan
if possible while keeping GenerationalPlan
object safe. In this case, generic methods will be put to this extension trait.
Required Methods§
sourcefn trace_object_nursery<Q: ObjectQueue, const KIND: u8>(
&self,
queue: &mut Q,
object: ObjectReference,
worker: &mut GCWorker<VM>
) -> ObjectReference
fn trace_object_nursery<Q: ObjectQueue, const KIND: u8>( &self, queue: &mut Q, object: ObjectReference, worker: &mut GCWorker<VM> ) -> ObjectReference
Trace an object in nursery collection. If the object is in nursery, we should call trace_object
on the space. Otherwise, we can just return the object.
Object Safety§
This trait is not object safe.