Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: src/compiler/node.h

Issue 1132353004: [turbofan] Fix Node::TrimInputCount() followed by Node::AppendInput() bug. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Update comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/compiler/node.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 Node::Inputs::const_iterator Node::Inputs::begin() const { 379 Node::Inputs::const_iterator Node::Inputs::begin() const {
380 return const_iterator(this->node_, 0); 380 return const_iterator(this->node_, 0);
381 } 381 }
382 382
383 383
384 Node::Inputs::const_iterator Node::Inputs::end() const { 384 Node::Inputs::const_iterator Node::Inputs::end() const {
385 return const_iterator(this->node_, this->node_->InputCount()); 385 return const_iterator(this->node_, this->node_->InputCount());
386 } 386 }
387 387
388 388
389 // A forward iterator to visit the uses edges of a node. The edges are returned 389 // A forward iterator to visit the uses edges of a node.
390 // in
391 // the order in which they were added as inputs.
392 class Node::UseEdges::iterator final { 390 class Node::UseEdges::iterator final {
393 public: 391 public:
394 iterator(const iterator& other) 392 iterator(const iterator& other)
395 : current_(other.current_), next_(other.next_) {} 393 : current_(other.current_), next_(other.next_) {}
396 394
397 Edge operator*() const { 395 Edge operator*() const {
398 return Edge(current_->from->GetInputRecordPtr(current_->input_index)); 396 return Edge(current_->from->GetInputRecordPtr(current_->input_index));
399 } 397 }
400 398
401 bool operator==(const iterator& other) const { 399 bool operator==(const iterator& other) const {
(...skipping 24 matching lines...) Expand all
426 Node::UseEdges::iterator Node::UseEdges::begin() const { 424 Node::UseEdges::iterator Node::UseEdges::begin() const {
427 return Node::UseEdges::iterator(this->node_); 425 return Node::UseEdges::iterator(this->node_);
428 } 426 }
429 427
430 428
431 Node::UseEdges::iterator Node::UseEdges::end() const { 429 Node::UseEdges::iterator Node::UseEdges::end() const {
432 return Node::UseEdges::iterator(); 430 return Node::UseEdges::iterator();
433 } 431 }
434 432
435 433
436 // A forward iterator to visit the uses of a node. The uses are returned in 434 // A forward iterator to visit the uses of a node.
437 // the order in which they were added as inputs.
438 class Node::Uses::const_iterator final { 435 class Node::Uses::const_iterator final {
439 public: 436 public:
440 typedef std::forward_iterator_tag iterator_category; 437 typedef std::forward_iterator_tag iterator_category;
441 typedef int difference_type; 438 typedef int difference_type;
442 typedef Node* value_type; 439 typedef Node* value_type;
443 typedef Node** pointer; 440 typedef Node** pointer;
444 typedef Node*& reference; 441 typedef Node*& reference;
445 442
446 const_iterator(const const_iterator& other) : current_(other.current_) {} 443 const_iterator(const const_iterator& other) : current_(other.current_) {}
447 444
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 476
480 void Node::ReplaceInput(int index, Node* new_to) { 477 void Node::ReplaceInput(int index, Node* new_to) {
481 GetInputRecordPtr(index)->Update(new_to); 478 GetInputRecordPtr(index)->Update(new_to);
482 } 479 }
483 480
484 } // namespace compiler 481 } // namespace compiler
485 } // namespace internal 482 } // namespace internal
486 } // namespace v8 483 } // namespace v8
487 484
488 #endif // V8_COMPILER_NODE_H_ 485 #endif // V8_COMPILER_NODE_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/node.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698