src/Pure/Concurrent/future.ML
Thu, 24 Jan 2013 17:31:12 +0100 wenzelm report status more frequently on demand;
Sat, 19 Jan 2013 00:00:29 +0100 wenzelm tuned signature;
Fri, 18 Jan 2013 17:51:50 +0100 wenzelm more systematic task statistics;
Fri, 18 Jan 2013 16:20:09 +0100 wenzelm added "tasks_proof" statistics, via slighly odd global reference Future.forked_proofs (NB: Future.report_status is intertwined with scheduler thread);
Thu, 17 Jan 2013 12:04:52 +0100 wenzelm clarified Future.error_msg: slightly more robust id check, actually suppress displaced messages;
Wed, 16 Jan 2013 21:39:43 +0100 wenzelm proper runtime position (cf. fe4714886d92 and Toplevel.error_msg) -- to make error messages actually appear in the document;
Wed, 16 Jan 2013 20:41:29 +0100 wenzelm identify future results more carefully, to avoid odd duplication of error messages, notably from forked goals;
Wed, 16 Jan 2013 16:26:36 +0100 wenzelm more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
Wed, 16 Jan 2013 11:25:26 +0100 wenzelm tuned signature;
Wed, 02 Jan 2013 13:50:59 +0100 wenzelm inline ML statistics into build log;
Tue, 01 Jan 2013 21:55:46 +0100 wenzelm more robust report_status: tolerate ML_statistics even if ignored right now, e.g. in batch build;
Fri, 07 Dec 2012 23:11:01 +0100 wenzelm final report_status within SYNCHRONIZED part of scheduler loop: required for sanity of data;
Thu, 29 Nov 2012 10:45:25 +0100 wenzelm more uniform ML statistics;
Wed, 28 Nov 2012 17:18:53 +0100 wenzelm some support for ML runtime statistics;
Fri, 19 Oct 2012 12:08:13 +0200 wenzelm clarified Future.map (again): finished value is mapped in-place, which saves task structures and changes error behaviour slightly (tolerance against canceled group of old value etc.);
Thu, 18 Oct 2012 13:53:02 +0200 wenzelm more uniform group for map_future, which is relevant for cancel in worker_task vs. future_job -- prefer peer group despite 81d03a29980c;
Thu, 18 Oct 2012 12:47:30 +0200 wenzelm tuned comment;
Thu, 18 Oct 2012 12:00:27 +0200 wenzelm more official Future.terminate;
Wed, 17 Oct 2012 21:18:32 +0200 wenzelm more robust cancel_now: avoid shooting yourself in the foot;
Thu, 30 Aug 2012 15:26:37 +0200 wenzelm refined status of forked goals;
Wed, 11 Apr 2012 13:49:09 +0200 wenzelm more robust Future.fulfill wrt. duplicate assignment and interrupt;
Wed, 11 Apr 2012 12:15:56 +0200 wenzelm always signal after cancel_group: passive tasks may have become active;
Mon, 09 Apr 2012 17:22:23 +0200 wenzelm simplified Future.cancel/cancel_group (again) -- running threads only;
Mon, 28 Nov 2011 22:05:32 +0100 wenzelm separate module for concrete Isabelle markup;
Thu, 13 Oct 2011 22:50:35 +0200 wenzelm static dummy_task (again) to avoid a few extra allocations;
Tue, 23 Aug 2011 17:43:06 +0200 wenzelm tuned signature;
Tue, 23 Aug 2011 16:39:21 +0200 wenzelm discontinued slightly odd Future/Lazy.get_finished, which do not really fit into the execution model of Future.cancel/join_tasks (canceled tasks need to be dequeued and terminated explicitly);
Tue, 23 Aug 2011 15:48:41 +0200 wenzelm some support for toplevel printing wrt. editor perspective (still inactive);
Sun, 21 Aug 2011 13:23:29 +0200 wenzelm purely functional task_queue.ML -- moved actual interrupt_unsynchronized to future.ML;
Sat, 20 Aug 2011 15:52:29 +0200 wenzelm added Future.joins convenience;
Fri, 19 Aug 2011 17:39:37 +0200 wenzelm tuned signature (again);
Fri, 19 Aug 2011 16:13:26 +0200 wenzelm tuned signature -- treat structure Task_Queue as private to implementation;
Fri, 19 Aug 2011 15:56:26 +0200 wenzelm refined Future.cancel: explicit future allows to join actual cancellation;
Fri, 19 Aug 2011 14:01:20 +0200 wenzelm Future.promise: explicit abort operation (like uninterruptible future job);
Fri, 19 Aug 2011 12:51:14 +0200 wenzelm more focused use of Multithreading.interrupted: retain interrupts within task group boundary, without loss of information;
Fri, 19 Aug 2011 12:03:44 +0200 wenzelm clarified Future.cond_forks: more uniform handling of exceptional situations;
Thu, 18 Aug 2011 16:07:58 +0200 wenzelm tuned comments;
Wed, 17 Aug 2011 23:37:23 +0200 wenzelm identify parallel exceptions where they emerge first -- to achieve unique results within evaluation graph;
Wed, 17 Aug 2011 22:14:22 +0200 wenzelm more systematic handling of parallel exceptions;
Mon, 15 Aug 2011 19:27:55 +0200 wenzelm explicit check of finished evaluation;
Sat, 13 Aug 2011 00:34:54 +0200 wenzelm immediate fork of initial workers -- avoid 5 ticks (250ms) for adaptive scheme (a07558eb5029);
Wed, 10 Aug 2011 16:26:05 +0200 wenzelm tuned signature;
Wed, 10 Aug 2011 16:05:14 +0200 wenzelm future_job: explicit indication of interrupts;
Wed, 10 Aug 2011 14:28:55 +0200 wenzelm synchronized cancel and flushing of Multithreading.interrupted state, to ensure that interrupts stay within task boundaries;
Wed, 10 Aug 2011 14:04:45 +0200 wenzelm tuned source structure;
Sat, 23 Jul 2011 22:22:21 +0200 wenzelm make double-sure that interrupts are flushed before executing new work (cf. 22f8c2483bd2);
Sat, 23 Jul 2011 21:29:56 +0200 wenzelm more detailed tracing;
Mon, 11 Jul 2011 22:55:47 +0200 wenzelm tuned signature -- corresponding to Scala version;
Tue, 05 Jul 2011 11:16:37 +0200 wenzelm tuned signature;
Thu, 23 Jun 2011 23:12:00 +0200 wenzelm more robust join_results: join_work needs to be uninterruptible, otherwise the task being dequeued by join_next might be never executed/finished!
Sat, 26 Mar 2011 21:28:04 +0100 wenzelm added Future.cond_forks convenience;
Fri, 18 Feb 2011 16:11:58 +0100 wenzelm less verbose tracing;
Wed, 09 Feb 2011 15:48:43 +0100 wenzelm tuned scope of Multithreading.interrupted vs. Multithreading.with_attributes;
Tue, 08 Feb 2011 16:11:52 +0100 wenzelm explicit Multithreading.interrupted to ensure that interrupts stay within the boundaries of managed evaluation blocks;
Fri, 04 Feb 2011 20:40:25 +0100 wenzelm tuned signature;
Wed, 02 Feb 2011 20:32:50 +0100 wenzelm eliminated slightly odd abstract type Task_Queue.deps;
Wed, 02 Feb 2011 15:04:09 +0100 wenzelm maintain Task_Queue.group within Task_Queue.task;
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;
less more (0) -100 -60 tip