src/Pure/Concurrent/task_queue.ML
Fri, 09 Jan 2015 21:20:07 +0100 wenzelm clarified active_job: take dependencies into account (e.g. future based on promise);
Fri, 09 Jan 2015 20:51:26 +0100 wenzelm tuned;
Thu, 28 Nov 2013 12:54:39 +0100 wenzelm more official task context via Task_Queue.enroll, which is required to participate in group cancellation (e.g. to terminate command exec);
Sun, 25 Aug 2013 17:04:22 +0200 wenzelm simplified Goal.forked_proofs: status is determined via group instead of dummy future (see also Pure/PIDE/execution.ML);
Mon, 08 Jul 2013 12:00:45 +0200 wenzelm allow worker guest threads, which participate actively in future joins, but are outside thread accounting;
Fri, 05 Jul 2013 23:10:18 +0200 wenzelm more uniform Counter in ML and Scala;
Tue, 14 May 2013 20:46:09 +0200 wenzelm more uniform Markup.print_real;
Fri, 18 Jan 2013 17:51:50 +0100 wenzelm more systematic task statistics;
Wed, 11 Apr 2012 13:49:09 +0200 wenzelm more robust Future.fulfill wrt. duplicate assignment and interrupt;
Mon, 09 Apr 2012 17:22:23 +0200 wenzelm simplified Future.cancel/cancel_group (again) -- running threads only;
Sat, 26 Nov 2011 13:10:12 +0100 wenzelm tuned;
Sun, 06 Nov 2011 13:25:41 +0100 wenzelm optional timing, to avoid redundant allocation of mutable cells;
Thu, 13 Oct 2011 22:50:35 +0200 wenzelm static dummy_task (again) to avoid a few extra allocations;
Sun, 21 Aug 2011 13:23:29 +0200 wenzelm purely functional task_queue.ML -- moved actual interrupt_unsynchronized to future.ML;
Sun, 21 Aug 2011 13:10:48 +0200 wenzelm refined Task_Queue.cancel: passive tasks are considered running due to pending abort operation;
Sat, 20 Aug 2011 23:35:30 +0200 wenzelm refined Graph implementation: more abstract/scalable Graph.Keys instead of plain lists -- order of adjacency is now standardized wrt. Key.ord;
Fri, 19 Aug 2011 15:56:26 +0200 wenzelm refined Future.cancel: explicit future allows to join actual cancellation;
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;
less more (0) -50 -30 tip