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 "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 #include "src/types-inl.h" | 10 #include "src/types-inl.h" |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 bool operator!=(const Edge& other) { return !(*this == other); } | 277 bool operator!=(const Edge& other) { return !(*this == other); } |
278 | 278 |
279 void UpdateTo(Node* new_to) { input_->Update(new_to); } | 279 void UpdateTo(Node* new_to) { input_->Update(new_to); } |
280 | 280 |
281 private: | 281 private: |
282 friend class Node::UseEdges::iterator; | 282 friend class Node::UseEdges::iterator; |
283 friend class Node::InputEdges::iterator; | 283 friend class Node::InputEdges::iterator; |
284 | 284 |
285 explicit Edge(Node::Input* input) : input_(input) { DCHECK_NOT_NULL(input); } | 285 explicit Edge(Node::Input* input) : input_(input) { DCHECK_NOT_NULL(input); } |
286 | 286 |
287 Node::Input* const input_; | 287 Node::Input* input_; |
288 }; | 288 }; |
289 | 289 |
290 | 290 |
291 // A forward iterator to visit the edges for the input dependencies of a node. | 291 // A forward iterator to visit the edges for the input dependencies of a node. |
292 class Node::InputEdges::iterator FINAL { | 292 class Node::InputEdges::iterator FINAL { |
293 public: | 293 public: |
294 typedef std::forward_iterator_tag iterator_category; | 294 typedef std::forward_iterator_tag iterator_category; |
295 typedef int difference_type; | 295 typedef int difference_type; |
296 typedef Edge value_type; | 296 typedef Edge value_type; |
297 typedef Edge* pointer; | 297 typedef Edge* pointer; |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 | 477 |
478 void Node::ReplaceInput(int index, Node* new_to) { | 478 void Node::ReplaceInput(int index, Node* new_to) { |
479 GetInputRecordPtr(index)->Update(new_to); | 479 GetInputRecordPtr(index)->Update(new_to); |
480 } | 480 } |
481 | 481 |
482 } // namespace compiler | 482 } // namespace compiler |
483 } // namespace internal | 483 } // namespace internal |
484 } // namespace v8 | 484 } // namespace v8 |
485 | 485 |
486 #endif // V8_COMPILER_NODE_H_ | 486 #endif // V8_COMPILER_NODE_H_ |
OLD | NEW |