simplify & inline
authorScott Graham <scottmg@chromium.org>
Mon, 27 Apr 2015 18:12:43 +0000 (11:12 -0700)
committerScott Graham <scottmg@chromium.org>
Mon, 27 Apr 2015 18:12:45 +0000 (11:12 -0700)
src/build.cc
src/build.h

index e266b5c..cdb8e0a 100644 (file)
@@ -374,24 +374,19 @@ void Plan::ScheduleWork(Edge* edge) {
   }
 }
 
-void Plan::ResumeDelayedJobs(Edge* edge) {
-  edge->pool()->EdgeFinished(*edge);
-  edge->pool()->RetrieveReadyEdges(&ready_);
-}
-
-void Plan::EdgeFinished(Edge* edge, bool directly_wanted) {
+void Plan::EdgeFinished(Edge* edge) {
   map<Edge*, bool>::iterator e = want_.find(edge);
   assert(e != want_.end());
-  if (e->second)
+  bool directly_wanted = e->second;
+  if (directly_wanted)
     --wanted_edges_;
   want_.erase(e);
   edge->outputs_ready_ = true;
 
-  // See if this job frees up any delayed jobs
+  // See if this job frees up any delayed jobs.
   if (directly_wanted)
-    ResumeDelayedJobs(edge);
-  else
-    edge->pool()->RetrieveReadyEdges(&ready_);
+    edge->pool()->EdgeFinished(*edge);
+  edge->pool()->RetrieveReadyEdges(&ready_);
 
   // Check off any nodes we were waiting for with this edge.
   for (vector<Node*>::iterator o = edge->outputs_.begin();
@@ -415,7 +410,7 @@ void Plan::NodeFinished(Node* node) {
       } else {
         // We do not need to build this edge, but we might need to build one of
         // its dependents.
-        EdgeFinished(*oe, want_e->second);
+        EdgeFinished(*oe);
       }
     }
   }
index 6eabae5..8106faa 100644 (file)
@@ -58,7 +58,7 @@ struct Plan {
 
   /// Mark an edge as done building.  Used internally and by
   /// tests.
-  void EdgeFinished(Edge* edge, bool directly_wanted = true);
+  void EdgeFinished(Edge* edge);
 
   /// Clean the given node during the build.
   /// Return false on error.
@@ -78,11 +78,6 @@ private:
   /// currently-full pool.
   void ScheduleWork(Edge* edge);
 
-  /// Allows jobs blocking on |edge| to potentially resume.
-  /// For example, if |edge| is a member of a pool, calling this may schedule
-  /// previously pending jobs in that pool.
-  void ResumeDelayedJobs(Edge* edge);
-
   /// Keep track of which edges we want to build in this plan.  If this map does
   /// not contain an entry for an edge, we do not want to build the entry or its
   /// dependents.  If an entry maps to false, we do not want to build it, but we