Struct mmtk::MMTK[][src]

pub struct MMTK<VM: VMBinding> {
    pub plan: Box<dyn Plan<VM = VM>>,
    pub vm_map: &'static VMMap,
    pub mmapper: &'static Mmapper,
    pub sftmap: &'static SFTMap,
    pub reference_processors: ReferenceProcessors,
    pub finalizable_processor: Mutex<FinalizableProcessor>,
    pub options: Arc<UnsafeOptionsWrapper>,
    pub scheduler: Arc<Scheduler<Self>>,
    // some fields omitted
}

An MMTk instance. MMTk allows mutiple instances to run independently, and each instance gives users a separate heap. Note that multi-instances is not fully supported yet

Fields

plan: Box<dyn Plan<VM = VM>>vm_map: &'static VMMapmmapper: &'static Mmappersftmap: &'static SFTMapreference_processors: ReferenceProcessorsfinalizable_processor: Mutex<FinalizableProcessor>options: Arc<UnsafeOptionsWrapper>scheduler: Arc<Scheduler<Self>>

Implementations

impl<VM: VMBinding> MMTK<VM>[src]

pub fn new() -> Self[src]

pub fn harness_begin(&self, tls: OpaquePointer)[src]

pub fn harness_end(&'static self)[src]

Trait Implementations

impl<VM: VMBinding> Context for MMTK<VM>[src]

The global context for mmtk is MMTK<VM>.

impl<E: ProcessEdgesWork> CoordinatorWork<MMTK<<E as ProcessEdgesWork>::VM>> for StopMutators<E>[src]

impl<VM: VMBinding> CoordinatorWork<MMTK<VM>> for ScheduleCollection[src]

impl<VM: VMBinding> CoordinatorWork<MMTK<VM>> for EndOfGC[src]

impl<VM: VMBinding> Default for MMTK<VM>[src]

impl<VM: VMBinding> Send for MMTK<VM>[src]

impl<VM: VMBinding> Sync for MMTK<VM>[src]

impl<VM: VMBinding, W: GCWork<VM>> Work<MMTK<VM>> for W[src]

Auto Trait Implementations

impl<VM> !RefUnwindSafe for MMTK<VM>

impl<VM> Unpin for MMTK<VM>

impl<VM> !UnwindSafe for MMTK<VM>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.