[−][src]Trait mmtk::Plan
A plan describes the global core functionality for all memory management schemes. All global MMTk plans should implement this trait.
The global instance defines and manages static resources (such as memory and virtual memory resources).
Associated Types
type VM: VMBinding
[src]
type Mutator: MutatorContext<Self::VM>
[src]
type CopyContext: CopyContext
[src]
Required methods
pub fn new(
vm_map: &'static VMMap,
mmapper: &'static Mmapper,
options: Arc<UnsafeOptionsWrapper>,
scheduler: &'static MMTkScheduler<Self::VM>
) -> Self
[src]
vm_map: &'static VMMap,
mmapper: &'static Mmapper,
options: Arc<UnsafeOptionsWrapper>,
scheduler: &'static MMTkScheduler<Self::VM>
) -> Self
pub fn base(&self) -> &BasePlan<Self::VM>
[src]
pub fn schedule_collection(&'static self, _scheduler: &MMTkScheduler<Self::VM>)
[src]
pub fn gc_init(
&mut self,
heap_size: usize,
vm_map: &'static VMMap,
scheduler: &Arc<MMTkScheduler<Self::VM>>
)
[src]
&mut self,
heap_size: usize,
vm_map: &'static VMMap,
scheduler: &Arc<MMTkScheduler<Self::VM>>
)
pub fn bind_mutator(
&'static self,
tls: OpaquePointer,
mmtk: &'static MMTK<Self::VM>
) -> Box<Self::Mutator>
[src]
&'static self,
tls: OpaquePointer,
mmtk: &'static MMTK<Self::VM>
) -> Box<Self::Mutator>
pub fn get_allocator_mapping(
&self
) -> &'static EnumMap<AllocationSemantics, AllocatorSelector>
[src]
&self
) -> &'static EnumMap<AllocationSemantics, AllocatorSelector>
pub fn prepare(&self, tls: OpaquePointer)
[src]
pub fn release(&self, tls: OpaquePointer)
[src]
pub fn get_pages_used(&self) -> usize
[src]
Provided methods
pub fn common(&self) -> &CommonPlan<Self::VM>
[src]
pub fn mmapper(&self) -> &'static Mmapper
[src]
pub fn options(&self) -> &Options
[src]
pub fn in_nursery(&self) -> bool
[src]
pub fn is_initialized(&self) -> bool
[src]
pub fn poll(&self, space_full: bool, space: &dyn Space<Self::VM>) -> bool
[src]
pub fn log_poll(&self, space: &dyn Space<Self::VM>, message: &'static str)
[src]
pub fn collection_required(
&self,
space_full: bool,
_space: &dyn Space<Self::VM>
) -> bool where
Self: Sized,
[src]
&self,
space_full: bool,
_space: &dyn Space<Self::VM>
) -> bool where
Self: Sized,
This method controls the triggering of a GC. It is called periodically
during allocation. Returns true
to trigger a collection.
@param spaceFull Space request failed, must recover pages within 'space'.
@param space TODO
@return true
if a collection is requested by the plan.