Struct mmtk::plan::mutator_context::Mutator [−][src]
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: OpaquePointer
plan: &'static dyn Plan<VM = VM>
config: MutatorConfig<VM>
Trait Implementations
impl<VM: VMBinding> MutatorContext<VM> for Mutator<VM>
[src]
fn prepare(&mut self, tls: OpaquePointer)
[src]
fn release(&mut self, tls: OpaquePointer)
[src]
fn alloc(
&mut self,
size: usize,
align: usize,
offset: isize,
allocator: AllocationType
) -> Address
[src]
&mut self,
size: usize,
align: usize,
offset: isize,
allocator: AllocationType
) -> Address
fn post_alloc(
&mut self,
refer: ObjectReference,
_bytes: usize,
allocator: AllocationType
)
[src]
&mut self,
refer: ObjectReference,
_bytes: usize,
allocator: AllocationType
)
fn get_tls(&self) -> OpaquePointer
[src]
fn barrier(&mut self) -> &mut dyn Barrier
[src]
fn flush_remembered_sets(&mut self)
[src]
fn flush(&mut self)
[src]
fn record_modified_node(&mut self, obj: ObjectReference)
[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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,