mmtk/plan/generational/copying/
gc_work.rs

1use super::global::GenCopy;
2use crate::plan::generational::gc_work::GenNurseryProcessEdges;
3use crate::vm::*;
4
5use crate::policy::gc_work::DEFAULT_TRACE;
6use crate::scheduler::gc_work::{PlanProcessEdges, UnsupportedProcessEdges};
7
8pub struct GenCopyNurseryGCWorkContext<VM: VMBinding>(std::marker::PhantomData<VM>);
9impl<VM: VMBinding> crate::scheduler::GCWorkContext for GenCopyNurseryGCWorkContext<VM> {
10    type VM = VM;
11    type PlanType = GenCopy<VM>;
12    type DefaultProcessEdges = GenNurseryProcessEdges<Self::VM, Self::PlanType, DEFAULT_TRACE>;
13    type PinningProcessEdges = UnsupportedProcessEdges<VM>;
14}
15
16pub struct GenCopyGCWorkContext<VM: VMBinding>(std::marker::PhantomData<VM>);
17impl<VM: VMBinding> crate::scheduler::GCWorkContext for GenCopyGCWorkContext<VM> {
18    type VM = VM;
19    type PlanType = GenCopy<VM>;
20    type DefaultProcessEdges = PlanProcessEdges<Self::VM, GenCopy<VM>, DEFAULT_TRACE>;
21    type PinningProcessEdges = UnsupportedProcessEdges<VM>;
22}