Commits

Connor Wakamo committed 163c0651f29
[driver] Added support for parallel execution. In Compilation, perform Jobs by scheduling Commands which need to be run (currently all Commands, but this can be refined later) on TaskQueues by doing the following: 1. Perform all inputs to all Jobs in the current JobList. (Treat a JobList as its own inputs for scheduling purposes.) 2. After each Command's inputs run, check to see if that Command needs to run. If so, schedule it for execution. (Currently, all Commands always need to run.) 3. Set up a TaskFinishedCallback which will check to see if any other Commands need to run as a result of executing a particular Command. (Currently, all Commands depend on all other Commands.) If a Command needs to run and it is not already scheduled for execution, schedule it for execution. 4. Ask the TaskQueue to execute. (This will call the TaskFinishedCallback as necessary). Swift SVN r12060