[][src]Trait mmtk::CopyContext

pub trait CopyContext: Sized + 'static + Sync + Send {
    type VM: VMBinding;

    pub const MAX_NON_LOS_COPY_BYTES: usize;

    pub fn new(mmtk: &'static MMTK<Self::VM>) -> Self;
pub fn init(&mut self, tls: OpaquePointer);
pub fn prepare(&mut self);
pub fn release(&mut self);
pub fn alloc_copy(
        &mut self,
        original: ObjectReference,
        bytes: usize,
        align: usize,
        offset: isize,
        semantics: AllocationSemantics
    ) -> Address; pub fn post_copy(
        &mut self,
        _obj: ObjectReference,
        _tib: Address,
        _bytes: usize,
        _semantics: AllocationSemantics
    ) { ... }
pub fn copy_check_allocator(
        &self,
        _from: ObjectReference,
        bytes: usize,
        align: usize,
        semantics: AllocationSemantics
    ) -> AllocationSemantics { ... } }

A GC worker's context for copying GCs. Each GC plan should provide their implementation of a CopyContext. For non-copying GC, NoCopy can be used.

Associated Types

Loading content...

Associated Constants

Loading content...

Required methods

pub fn new(mmtk: &'static MMTK<Self::VM>) -> Self[src]

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

pub fn prepare(&mut self)[src]

pub fn release(&mut self)[src]

pub fn alloc_copy(
    &mut self,
    original: ObjectReference,
    bytes: usize,
    align: usize,
    offset: isize,
    semantics: AllocationSemantics
) -> Address
[src]

Loading content...

Provided methods

pub fn post_copy(
    &mut self,
    _obj: ObjectReference,
    _tib: Address,
    _bytes: usize,
    _semantics: AllocationSemantics
)
[src]

pub fn copy_check_allocator(
    &self,
    _from: ObjectReference,
    bytes: usize,
    align: usize,
    semantics: AllocationSemantics
) -> AllocationSemantics
[src]

Loading content...

Implementors

Loading content...