Struct mmtk::plan::mutator_context::Mutator[][src]

#[repr(C)]pub struct Mutator<VM: VMBinding> {
    pub allocators: Allocators<VM>,
    pub barrier: Box<dyn Barrier>,
    pub mutator_tls: OpaquePointer,
    pub plan: &'static dyn Plan<VM = VM>,
    pub config: MutatorConfig<VM>,
}

A mutator is a per-thread data structure that manages allocations and barriers. It is usually highly coupled with the language VM. It is recommended for MMTk users 1) to have a mutator struct of the same layout in the thread local storage that can be accessed efficiently, and 2) to implement fastpath allocation and barriers for the mutator in the VM side.

Fields

allocators: Allocators<VM>barrier: Box<dyn Barrier>mutator_tls: OpaquePointerplan: &'static dyn Plan<VM = VM>config: MutatorConfig<VM>

Trait Implementations

impl<VM: VMBinding> MutatorContext<VM> for Mutator<VM>[src]

Auto Trait Implementations

impl<VM> !RefUnwindSafe for Mutator<VM>

impl<VM> Send for Mutator<VM>

impl<VM> Sync for Mutator<VM>

impl<VM> Unpin for Mutator<VM>

impl<VM> !UnwindSafe for Mutator<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.