diff options
author | Patrick Walton <pcwalton@mimiga.net> | 2015-02-20 16:46:17 -0800 |
---|---|---|
committer | Patrick Walton <pcwalton@mimiga.net> | 2015-02-20 19:11:35 -0800 |
commit | 40a3b417580f1050c63acf890ed5aaefb6197d1a (patch) | |
tree | 5ead5acf386c4f99e30da2c203065e362f247dde /components/util/workqueue.rs | |
parent | 172db80703fc19ff078f2f46fb299cadd99a483b (diff) | |
download | servo-40a3b417580f1050c63acf890ed5aaefb6197d1a.tar.gz servo-40a3b417580f1050c63acf890ed5aaefb6197d1a.zip |
layout: Add an option to visualize parallel layout
Diffstat (limited to 'components/util/workqueue.rs')
-rw-r--r-- | components/util/workqueue.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/components/util/workqueue.rs b/components/util/workqueue.rs index 69fbce97b7e..ad39b1e349f 100644 --- a/components/util/workqueue.rs +++ b/components/util/workqueue.rs @@ -157,6 +157,7 @@ impl<QueueData: Send, WorkData: Send> WorkerThread<QueueData, WorkData> { worker: &mut deque, ref_count: ref_count, queue_data: queue_data, + worker_index: self.index as u8, }; (work_unit.fun)(work_unit.data, &mut proxy); @@ -180,6 +181,7 @@ pub struct WorkerProxy<'a, QueueData: 'a, WorkData: 'a> { worker: &'a mut Worker<WorkUnit<QueueData, WorkData>>, ref_count: *mut AtomicUint, queue_data: *const QueueData, + worker_index: u8, } impl<'a, QueueData: 'static, WorkData: Send> WorkerProxy<'a, QueueData, WorkData> { @@ -199,6 +201,12 @@ impl<'a, QueueData: 'static, WorkData: Send> WorkerProxy<'a, QueueData, WorkData mem::transmute(self.queue_data) } } + + /// Retrieves the index of the worker. + #[inline] + pub fn worker_index(&self) -> u8 { + self.worker_index + } } /// A work queue on which units of work can be submitted. |