src/Pure/Concurrent/task_queue.ML
Wed, 17 Aug 2011 22:14:22 +0200 wenzelm more systematic handling of parallel exceptions;
Wed, 10 Aug 2011 15:17:24 +0200 wenzelm more explicit Simple_Thread.interrupt_unsynchronized, to emphasize its meaning;
Sat, 23 Jul 2011 21:29:56 +0200 wenzelm more detailed tracing;
Wed, 13 Jul 2011 16:42:14 +0200 wenzelm Table.lookup_key and Graph.get_entry allow to retrieve the original key, which is not necessarily identical to the given one;
Fri, 04 Feb 2011 21:52:36 +0100 wenzelm more scalable collections of tasks, notably for totality of known group members;
Fri, 04 Feb 2011 20:40:25 +0100 wenzelm tuned signature;
Fri, 04 Feb 2011 16:33:12 +0100 wenzelm Task_Queue.update_timing: more precise treatment of interruptibility;
Wed, 02 Feb 2011 20:32:50 +0100 wenzelm eliminated slightly odd abstract type Task_Queue.deps;
Wed, 02 Feb 2011 17:26:07 +0100 wenzelm refined Task_Queue.dequeue_deps (more incremental);
Wed, 02 Feb 2011 15:04:09 +0100 wenzelm maintain Task_Queue.group within Task_Queue.task;
Wed, 02 Feb 2011 13:44:40 +0100 wenzelm tuned comment;
Wed, 02 Feb 2011 13:38:09 +0100 wenzelm Future.join_results: discontinued post-hoc recording of dynamic dependencies;
Tue, 01 Feb 2011 22:24:28 +0100 wenzelm more informative task timing: some dependency tracking;
Tue, 01 Feb 2011 21:05:22 +0100 wenzelm refined task timing: joining vs. waiting;
Mon, 31 Jan 2011 23:21:43 +0100 wenzelm name "passive" tasks (practically lazy values);
Mon, 31 Jan 2011 22:57:01 +0100 wenzelm support named tasks, for improved tracing;
Mon, 31 Jan 2011 16:34:10 +0100 wenzelm added basic task timing;
Tue, 09 Nov 2010 21:52:05 +0100 wenzelm private counter, to keep externalized ids a bit smaller;
Fri, 10 Sep 2010 14:54:08 +0200 wenzelm Future.promise: more robust treatment of concurrent abort vs. fulfill (amending 047c96f41455);
Thu, 09 Sep 2010 17:20:27 +0200 wenzelm more abstract treatment of interrupts in structure Exn -- hardly ever need to mention Interrupt literally;
Tue, 20 Jul 2010 17:35:42 +0200 wenzelm back to more strict dependencies, even for canceled groups (reverting parts of 02936e77a07c);
Mon, 31 May 2010 21:06:57 +0200 wenzelm modernized some structure names, keeping a few legacy aliases;
Fri, 19 Feb 2010 22:25:26 +0100 wenzelm eliminated opaque signature matching -- tends to cause problems with toplevel pp for abstract types;
Sat, 06 Feb 2010 16:32:34 +0100 wenzelm removed unused "boundary" of Table/Graph.get_first;
Wed, 06 Jan 2010 18:14:16 +0100 wenzelm eliminated cache, which complicates the code without making a real difference (NB: deque_towards often disrupts caching, and daisy-chaining of workers already reduces queue overhead);
Wed, 06 Jan 2010 15:07:56 +0100 wenzelm tasks of canceled groups are considered "ready" -- enables to purge the queue from tasks depending on unfinished promises (also improves general reactivity);
Tue, 05 Jan 2010 23:38:10 +0100 wenzelm added Future.promise/fulfill -- promised futures that are fulfilled by external means;
Thu, 01 Oct 2009 16:27:13 +0200 wenzelm added Task_Queue.depend (again) -- light-weight version for transitive graph;
Wed, 30 Sep 2009 22:20:58 +0200 wenzelm eliminated redundant bindings;
Tue, 28 Jul 2009 14:54:53 +0200 wenzelm group status: Synchronized.var;
Tue, 28 Jul 2009 14:43:46 +0200 wenzelm tuned;
Tue, 28 Jul 2009 14:35:27 +0200 wenzelm Task_Queue.dequeue: explicit thread;
Mon, 27 Jul 2009 15:06:33 +0200 wenzelm dequeue_towards: always return active tasks;
Mon, 27 Jul 2009 13:32:23 +0200 wenzelm removed unused low-level interrupts;
Mon, 27 Jul 2009 12:24:27 +0200 wenzelm tuned signature;
Mon, 27 Jul 2009 12:00:02 +0200 wenzelm enqueue/finish: return minimal/maximal state of this task;
Sat, 25 Jul 2009 14:58:45 +0200 wenzelm dequeue_towards: need to try imm_preds as well;
Sat, 25 Jul 2009 14:18:26 +0200 wenzelm enqueue: maintain transitive closure, which simplifies dequeue_towards;
Tue, 21 Jul 2009 20:37:31 +0200 wenzelm support for nested groups -- cancellation is propagated to peers and subgroups;
Tue, 21 Jul 2009 15:25:22 +0200 wenzelm propagate exceptions within future groups;
Tue, 21 Jul 2009 10:23:16 +0200 wenzelm tuned dequeu_towards: try immediate tasks before expensive all_preds;
Sun, 19 Jul 2009 14:14:25 +0200 wenzelm recovered a version of dequeue_towards (cf. bb7b5a5942c7);
Sat, 18 Jul 2009 22:51:29 +0200 wenzelm added group_id;
Thu, 09 Jul 2009 22:01:41 +0200 wenzelm renamed functor TableFun to Table, and GraphFun to Graph;
Sun, 14 Jun 2009 23:25:49 +0200 wenzelm removed obsolete depend, add_job_acyclic;
Sat, 13 Jun 2009 19:40:37 +0200 wenzelm simplified join_results: no longer work "towards" deps, which simplifies task queue management and maintains strict bottom up discipline (without "transfer of priority" to required futures);
Tue, 06 Jan 2009 13:43:17 +0100 wenzelm added is_valid;
Sun, 04 Jan 2009 00:00:03 +0100 wenzelm cancel: unique threads;
Sat, 03 Jan 2009 21:44:24 +0100 wenzelm added eq_group;
Tue, 16 Dec 2008 16:25:19 +0100 wenzelm renamed structure TaskQueue to Task_Queue;
Tue, 16 Dec 2008 00:19:47 +0100 wenzelm tuned enqueue: plain add_edge, acyclic not required here;
Sat, 06 Dec 2008 00:02:11 +0100 wenzelm added new_task;
Thu, 09 Oct 2008 20:53:20 +0200 wenzelm added invalidate_group;
Sat, 27 Sep 2008 18:18:08 +0200 wenzelm dequeue_towards: return bound for unfinished tasks;
Tue, 23 Sep 2008 15:48:54 +0200 wenzelm IntGraph.del_node;
Fri, 19 Sep 2008 21:22:31 +0200 wenzelm future tasks: support boolean priorities (true = high, false = low/irrelevant);
Thu, 11 Sep 2008 21:04:07 +0200 wenzelm added is_empty;
Thu, 11 Sep 2008 18:07:58 +0200 wenzelm added focus, which indicates a particular collection of high-priority tasks;
Wed, 10 Sep 2008 23:19:36 +0200 wenzelm tuned;
Wed, 10 Sep 2008 19:44:28 +0200 wenzelm cancel: invalidate group implicitly, via bool ref;
less more (0) -60 tip