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_INL_H_ | 5 #ifndef V8_COMPILER_GRAPH_INL_H_ |
6 #define V8_COMPILER_GRAPH_INL_H_ | 6 #define V8_COMPILER_GRAPH_INL_H_ |
7 | 7 |
8 #include "src/compiler/generic-algorithm-inl.h" | 8 #include "src/compiler/generic-algorithm-inl.h" |
9 #include "src/compiler/graph.h" | 9 #include "src/compiler/graph.h" |
10 | 10 |
11 namespace v8 { | 11 namespace v8 { |
12 namespace internal { | 12 namespace internal { |
13 namespace compiler { | 13 namespace compiler { |
14 | 14 |
15 template <class Visitor> | 15 template <class Visitor> |
16 void Graph::VisitNodeUsesFrom(Node* node, Visitor* visitor) { | 16 void Graph::VisitNodeUsesFrom(Node* node, Visitor* visitor) { |
| 17 Zone tmp_zone(zone()->isolate()); |
17 GenericGraphVisit::Visit<Visitor, NodeUseIterationTraits<Node> >( | 18 GenericGraphVisit::Visit<Visitor, NodeUseIterationTraits<Node> >( |
18 this, zone(), node, visitor); | 19 this, &tmp_zone, node, visitor); |
19 } | 20 } |
20 | 21 |
21 | 22 |
22 template <class Visitor> | 23 template <class Visitor> |
23 void Graph::VisitNodeUsesFromStart(Visitor* visitor) { | 24 void Graph::VisitNodeUsesFromStart(Visitor* visitor) { |
24 VisitNodeUsesFrom(start(), visitor); | 25 VisitNodeUsesFrom(start(), visitor); |
25 } | 26 } |
26 | 27 |
27 | 28 |
28 template <class Visitor> | 29 template <class Visitor> |
29 void Graph::VisitNodeInputsFromEnd(Visitor* visitor) { | 30 void Graph::VisitNodeInputsFromEnd(Visitor* visitor) { |
| 31 Zone tmp_zone(zone()->isolate()); |
30 GenericGraphVisit::Visit<Visitor, NodeInputIterationTraits<Node> >( | 32 GenericGraphVisit::Visit<Visitor, NodeInputIterationTraits<Node> >( |
31 this, zone(), end(), visitor); | 33 this, &tmp_zone, end(), visitor); |
32 } | 34 } |
33 } | 35 } |
34 } | 36 } |
35 } // namespace v8::internal::compiler | 37 } // namespace v8::internal::compiler |
36 | 38 |
37 #endif // V8_COMPILER_GRAPH_INL_H_ | 39 #endif // V8_COMPILER_GRAPH_INL_H_ |
OLD | NEW |