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_GRAPH_H_ | 5 #ifndef V8_COMPILER_GRAPH_H_ |
6 #define V8_COMPILER_GRAPH_H_ | 6 #define V8_COMPILER_GRAPH_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 Node* nodes[] = {n1, n2, n3, n4, n5, n6}; | 55 Node* nodes[] = {n1, n2, n3, n4, n5, n6}; |
56 return NewNode(op, arraysize(nodes), nodes); | 56 return NewNode(op, arraysize(nodes), nodes); |
57 } | 57 } |
58 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, | 58 Node* NewNode(const Operator* op, Node* n1, Node* n2, Node* n3, Node* n4, |
59 Node* n5, Node* n6, Node* n7) { | 59 Node* n5, Node* n6, Node* n7) { |
60 Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7}; | 60 Node* nodes[] = {n1, n2, n3, n4, n5, n6, n7}; |
61 return NewNode(op, arraysize(nodes), nodes); | 61 return NewNode(op, arraysize(nodes), nodes); |
62 } | 62 } |
63 | 63 |
64 template <class Visitor> | 64 template <class Visitor> |
65 void VisitNodeUsesFrom(Node* node, Visitor* visitor); | |
66 | |
67 template <class Visitor> | |
68 void VisitNodeUsesFromStart(Visitor* visitor); | |
69 | |
70 template <class Visitor> | |
71 void VisitNodeInputsFromEnd(Visitor* visitor); | 65 void VisitNodeInputsFromEnd(Visitor* visitor); |
72 | 66 |
73 void Decorate(Node* node); | 67 void Decorate(Node* node); |
74 | 68 |
75 void AddDecorator(GraphDecorator* decorator) { | 69 void AddDecorator(GraphDecorator* decorator) { |
76 decorators_.push_back(decorator); | 70 decorators_.push_back(decorator); |
77 } | 71 } |
78 | 72 |
79 void RemoveDecorator(GraphDecorator* decorator) { | 73 void RemoveDecorator(GraphDecorator* decorator) { |
80 ZoneVector<GraphDecorator*>::iterator it = | 74 ZoneVector<GraphDecorator*>::iterator it = |
(...skipping 11 matching lines...) Expand all Loading... |
92 public: | 86 public: |
93 virtual ~GraphDecorator() {} | 87 virtual ~GraphDecorator() {} |
94 virtual void Decorate(Node* node) = 0; | 88 virtual void Decorate(Node* node) = 0; |
95 }; | 89 }; |
96 | 90 |
97 } // namespace compiler | 91 } // namespace compiler |
98 } // namespace internal | 92 } // namespace internal |
99 } // namespace v8 | 93 } // namespace v8 |
100 | 94 |
101 #endif // V8_COMPILER_GRAPH_H_ | 95 #endif // V8_COMPILER_GRAPH_H_ |
OLD | NEW |