Struct mmtk::plan::global::BasePlan [−][src]
BasePlan should contain all plan-related state and functions that are fundamental to all plans. These include VM-specific (but not plan-specific) features such as a code space or vm space, which are fundamental to all plans for a given VM. Features that are common to many (but not intrinsically all) plans should instead be included in CommonPlan.
Fields
initialized: AtomicBool
gc_status: Mutex<GcStatus>
last_stress_pages: AtomicUsize
stacks_prepared: AtomicBool
emergency_collection: AtomicBool
user_triggered_collection: AtomicBool
allocation_success: AtomicBool
max_collection_attempts: AtomicUsize
cur_collection_attempts: AtomicUsize
oom_lock: Mutex<()>
control_collector_context: ControllerCollectorContext<VM>
stats: Stats
vm_map: &'static VMMap
options: Arc<UnsafeOptionsWrapper>
heap: HeapMeta
scanned_stacks: AtomicUsize
mutator_iterator_lock: Mutex<()>
allocation_bytes: AtomicUsize
Implementations
impl<VM: VMBinding> BasePlan<VM>
[src]
pub fn new(
vm_map: &'static VMMap,
mmapper: &'static Mmapper,
options: Arc<UnsafeOptionsWrapper>,
heap: HeapMeta,
constraints: &'static PlanConstraints
) -> BasePlan<VM>
[src]
vm_map: &'static VMMap,
mmapper: &'static Mmapper,
options: Arc<UnsafeOptionsWrapper>,
heap: HeapMeta,
constraints: &'static PlanConstraints
) -> BasePlan<VM>
pub fn gc_init(
&mut self,
heap_size: usize,
vm_map: &'static VMMap,
scheduler: &Arc<MMTkScheduler<VM>>
)
[src]
&mut self,
heap_size: usize,
vm_map: &'static VMMap,
scheduler: &Arc<MMTkScheduler<VM>>
)
pub fn get_pages_used(&self) -> usize
[src]
pub fn trace_object<T: TransitiveClosure, C: CopyContext>(
&self,
_trace: &mut T,
_object: ObjectReference
) -> ObjectReference
[src]
&self,
_trace: &mut T,
_object: ObjectReference
) -> ObjectReference
pub fn prepare(&self, _tls: OpaquePointer, _primary: bool)
[src]
pub fn release(&self, _tls: OpaquePointer, _primary: bool)
[src]
pub fn set_collection_kind(&self)
[src]
pub fn set_gc_status(&self, s: GcStatus)
[src]
pub fn stacks_prepared(&self) -> bool
[src]
pub fn gc_in_progress(&self) -> bool
[src]
pub fn gc_in_progress_proper(&self) -> bool
[src]
pub fn increase_allocation_bytes_by(&self, size: usize)
[src]
Auto Trait Implementations
impl<VM> !RefUnwindSafe for BasePlan<VM>
impl<VM> Send for BasePlan<VM>
impl<VM> Sync for BasePlan<VM>
impl<VM> Unpin for BasePlan<VM> where
VM: Unpin,
VM: Unpin,
impl<VM> !UnwindSafe for BasePlan<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>,