Struct mmtk::scheduler::Scheduler [−][src]
Fields
work_buckets: EnumMap<WorkBucketStage, WorkBucket<C>>
coordinator_work: WorkBucket<C>
Work for the coordinator thread
worker_monitor: Arc<(Mutex<()>, Condvar)>
Condition Variable for worker synchronization
channel: (Sender<CoordinatorMessage<C>>, Receiver<CoordinatorMessage<C>>)
A message channel to send new coordinator work and other actions to the coordinator thread
Implementations
impl<C: Context> Scheduler<C>
[src]
pub fn new() -> Arc<Self>
[src]
pub fn num_workers(&self) -> usize
[src]
pub fn initialize(
self: &'static Arc<Self>,
num_workers: usize,
context: &'static C,
tls: OpaquePointer
)
[src]
self: &'static Arc<Self>,
num_workers: usize,
context: &'static C,
tls: OpaquePointer
)
pub fn initialize_worker(self: &Arc<Self>, tls: OpaquePointer)
[src]
pub fn set_initializer<W: CoordinatorWork<C>>(&self, w: Option<W>)
[src]
pub fn set_finalizer<W: CoordinatorWork<C>>(&self, w: Option<W>)
[src]
pub fn worker_group(&self) -> Arc<WorkerGroup<C>>
[src]
pub fn wait_for_completion(&self)
[src]
Drain the message queue and execute coordinator work
pub fn deactivate_all(&self)
[src]
pub fn reset_state(&self)
[src]
pub fn add_coordinator_work(
&self,
work: impl CoordinatorWork<C>,
worker: &Worker<C>
)
[src]
&self,
work: impl CoordinatorWork<C>,
worker: &Worker<C>
)
pub fn poll(&self, worker: &Worker<C>) -> Box<dyn Work<C>>
[src]
Get a scheduable work. Called by workers
pub fn enable_stat(&self)
[src]
pub fn statistics(&self) -> HashMap<String, String>
[src]
impl<VM: VMBinding> Scheduler<MMTK<VM>>
[src]
pub fn notify_mutators_paused(&self, mmtk: &'static MMTK<VM>)
[src]
Trait Implementations
Auto Trait Implementations
impl<C> !RefUnwindSafe for Scheduler<C>
impl<C> Unpin for Scheduler<C>
impl<C> !UnwindSafe for Scheduler<C>
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>,