Trait mmtk::plan::global::CopyContext[][src]

pub trait CopyContext: 'static + Sync + Send {
    type VM: VMBinding;
    fn constraints(&self) -> &'static PlanConstraints;
fn init(&mut self, tls: OpaquePointer);
fn prepare(&mut self);
fn release(&mut self);
fn alloc_copy(
        &mut self,
        original: ObjectReference,
        bytes: usize,
        align: usize,
        offset: isize,
        semantics: AllocationSemantics
    ) -> Address; fn post_copy(
        &mut self,
        _obj: ObjectReference,
        _tib: Address,
        _bytes: usize,
        _semantics: AllocationSemantics
    ) { ... }
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...

Required methods

fn constraints(&self) -> &'static PlanConstraints[src]

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

fn prepare(&mut self)[src]

fn release(&mut self)[src]

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

Loading content...

Provided methods

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

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

Loading content...

Implementors

impl<VM: VMBinding> CopyContext for NoCopy<VM>[src]

type VM = VM

Loading content...