| Index: src/compiler/graph-visualizer.cc | 
| diff --git a/src/compiler/graph-visualizer.cc b/src/compiler/graph-visualizer.cc | 
| index 6a9e620d0bc8d2a71a58e5a040f735d9b04d0dcb..6493093dae6365a2ad02b0cc125cec9cce6046fb 100644 | 
| --- a/src/compiler/graph-visualizer.cc | 
| +++ b/src/compiler/graph-visualizer.cc | 
| @@ -612,6 +612,7 @@ std::ostream& operator<<(std::ostream& os, const AsRPO& ar) { | 
| Zone local_zone; | 
| ZoneVector<byte> state(ar.graph.NodeCount(), kUnvisited, &local_zone); | 
| ZoneStack<Node*> stack(&local_zone); | 
| +  ZoneVector<Node*> all(&local_zone); | 
|  | 
| stack.push(ar.graph.end()); | 
| state[ar.graph.end()->id()] = kOnStack; | 
| @@ -627,6 +628,7 @@ std::ostream& operator<<(std::ostream& os, const AsRPO& ar) { | 
| } | 
| } | 
| if (pop) { | 
| +      all.push_back(n); | 
| state[n->id()] = kVisited; | 
| stack.pop(); | 
| os << "#" << n->id() << ":" << *n->op() << "("; | 
| @@ -638,6 +640,29 @@ std::ostream& operator<<(std::ostream& os, const AsRPO& ar) { | 
| os << ")" << std::endl; | 
| } | 
| } | 
| + | 
| +  bool first = true; | 
| + | 
| +  for (size_t i = 0; i < all.size(); i++) { | 
| +    Node* l = all[i]; | 
| +    for (Node* n : l->uses()) { | 
| +      if (state[n->id()] == kUnvisited) { | 
| +        state[n->id()] = kVisited; | 
| +        all.push_back(n); | 
| +        if (first) { | 
| +          os << "Gray nodes:" << std::endl; | 
| +          first = false; | 
| +        } | 
| +        os << "#" << n->id() << ":" << *n->op() << "("; | 
| +        int j = 0; | 
| +        for (Node* const i : n->inputs()) { | 
| +          if (j++ > 0) os << ", "; | 
| +          os << "#" << SafeId(i) << ":" << SafeMnemonic(i); | 
| +        } | 
| +        os << ")" << std::endl; | 
| +      } | 
| +    } | 
| +  } | 
| return os; | 
| } | 
| }  // namespace compiler | 
|  |