| OLD | NEW | 
|   1 // Copyright 2013 the V8 project authors. All rights reserved. |   1 // Copyright 2013 the V8 project authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef V8_COMPILER_NODE_H_ |   5 #ifndef V8_COMPILER_NODE_H_ | 
|   6 #define V8_COMPILER_NODE_H_ |   6 #define V8_COMPILER_NODE_H_ | 
|   7  |   7  | 
|   8 #include <deque> |   8 #include <deque> | 
|   9 #include <set> |   9 #include <set> | 
|  10 #include <vector> |  10 #include <vector> | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  46 // inherited from Vector, Nodes only contain a mutable Operator that may change |  46 // inherited from Vector, Nodes only contain a mutable Operator that may change | 
|  47 // during compilation, e.g. during lowering passes.  Other information that |  47 // during compilation, e.g. during lowering passes.  Other information that | 
|  48 // needs to be associated with Nodes during compilation must be stored |  48 // needs to be associated with Nodes during compilation must be stored | 
|  49 // out-of-line indexed by the Node's id. |  49 // out-of-line indexed by the Node's id. | 
|  50 class Node : public GenericNode<NodeData, Node> { |  50 class Node : public GenericNode<NodeData, Node> { | 
|  51  public: |  51  public: | 
|  52   Node(GenericGraphBase* graph, int input_count) |  52   Node(GenericGraphBase* graph, int input_count) | 
|  53       : GenericNode<NodeData, Node>(graph, input_count) {} |  53       : GenericNode<NodeData, Node>(graph, input_count) {} | 
|  54  |  54  | 
|  55   void Initialize(Operator* op) { set_op(op); } |  55   void Initialize(Operator* op) { set_op(op); } | 
 |  56  | 
 |  57   void CollectProjections(int projection_count, Node** projections); | 
|  56 }; |  58 }; | 
|  57  |  59  | 
|  58 OStream& operator<<(OStream& os, const Node& n); |  60 OStream& operator<<(OStream& os, const Node& n); | 
|  59  |  61  | 
|  60 typedef GenericGraphVisit::NullNodeVisitor<NodeData, Node> NullNodeVisitor; |  62 typedef GenericGraphVisit::NullNodeVisitor<NodeData, Node> NullNodeVisitor; | 
|  61  |  63  | 
|  62 typedef zone_allocator<Node*> NodePtrZoneAllocator; |  64 typedef zone_allocator<Node*> NodePtrZoneAllocator; | 
|  63  |  65  | 
|  64 typedef std::set<Node*, std::less<Node*>, NodePtrZoneAllocator> NodeSet; |  66 typedef std::set<Node*, std::less<Node*>, NodePtrZoneAllocator> NodeSet; | 
|  65 typedef NodeSet::iterator NodeSetIter; |  67 typedef NodeSet::iterator NodeSetIter; | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
|  83 // Helper to extract parameters from Operator1<*> nodes. |  85 // Helper to extract parameters from Operator1<*> nodes. | 
|  84 template <typename T> |  86 template <typename T> | 
|  85 static inline T OpParameter(Node* node) { |  87 static inline T OpParameter(Node* node) { | 
|  86   return reinterpret_cast<Operator1<T>*>(node->op())->parameter(); |  88   return reinterpret_cast<Operator1<T>*>(node->op())->parameter(); | 
|  87 } |  89 } | 
|  88 } |  90 } | 
|  89 } |  91 } | 
|  90 }  // namespace v8::internal::compiler |  92 }  // namespace v8::internal::compiler | 
|  91  |  93  | 
|  92 #endif  // V8_COMPILER_NODE_H_ |  94 #endif  // V8_COMPILER_NODE_H_ | 
| OLD | NEW |