mmtk/plan/immix/
gc_work.rs

1use super::global::Immix;
2use crate::policy::gc_work::TraceKind;
3use crate::policy::gc_work::TRACE_KIND_TRANSITIVE_PIN;
4use crate::scheduler::gc_work::PlanProcessEdges;
5use crate::vm::VMBinding;
6
7pub(super) struct ImmixGCWorkContext<VM: VMBinding, const KIND: TraceKind>(
8    std::marker::PhantomData<VM>,
9);
10impl<VM: VMBinding, const KIND: TraceKind> crate::scheduler::GCWorkContext
11    for ImmixGCWorkContext<VM, KIND>
12{
13    type VM = VM;
14    type PlanType = Immix<VM>;
15    type DefaultProcessEdges = PlanProcessEdges<VM, Immix<VM>, KIND>;
16    type PinningProcessEdges = PlanProcessEdges<VM, Immix<VM>, TRACE_KIND_TRANSITIVE_PIN>;
17}