Chromium Code Reviews| 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 #include "src/compiler/graph-visualizer.h" | 5 #include "src/compiler/graph-visualizer.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 563 const BasicBlockVector* rpo = schedule->rpo_order(); | 563 const BasicBlockVector* rpo = schedule->rpo_order(); |
| 564 for (size_t i = 0; i < rpo->size(); i++) { | 564 for (size_t i = 0; i < rpo->size(); i++) { |
| 565 BasicBlock* current = (*rpo)[i]; | 565 BasicBlock* current = (*rpo)[i]; |
| 566 Tag block_tag(this, "block"); | 566 Tag block_tag(this, "block"); |
| 567 PrintBlockProperty("name", current->id()); | 567 PrintBlockProperty("name", current->id()); |
| 568 PrintIntProperty("from_bci", -1); | 568 PrintIntProperty("from_bci", -1); |
| 569 PrintIntProperty("to_bci", -1); | 569 PrintIntProperty("to_bci", -1); |
| 570 | 570 |
| 571 PrintIndent(); | 571 PrintIndent(); |
| 572 os_ << "predecessors"; | 572 os_ << "predecessors"; |
| 573 for (BasicBlock::Predecessors::iterator j = current->predecessors_begin(); | 573 for (auto predecessor : current->predecessors()) { |
|
Michael Starzinger
2015/01/22 12:15:29
remark: I know you all like the "auto" magic, but
Benedikt Meurer
2015/01/22 13:48:01
Done.
| |
| 574 j != current->predecessors_end(); ++j) { | 574 os_ << " \"B" << predecessor->id() << "\""; |
| 575 os_ << " \"B" << (*j)->id() << "\""; | |
| 576 } | 575 } |
| 577 os_ << "\n"; | 576 os_ << "\n"; |
| 578 | 577 |
| 579 PrintIndent(); | 578 PrintIndent(); |
| 580 os_ << "successors"; | 579 os_ << "successors"; |
| 581 for (BasicBlock::Successors::iterator j = current->successors_begin(); | 580 for (auto successor : current->successors()) { |
| 582 j != current->successors_end(); ++j) { | 581 os_ << " \"B" << successor->id() << "\""; |
| 583 os_ << " \"B" << (*j)->id() << "\""; | |
| 584 } | 582 } |
| 585 os_ << "\n"; | 583 os_ << "\n"; |
| 586 | 584 |
| 587 PrintIndent(); | 585 PrintIndent(); |
| 588 os_ << "xhandlers\n"; | 586 os_ << "xhandlers\n"; |
| 589 | 587 |
| 590 PrintIndent(); | 588 PrintIndent(); |
| 591 os_ << "flags\n"; | 589 os_ << "flags\n"; |
| 592 | 590 |
| 593 if (current->dominator() != NULL) { | 591 if (current->dominator() != NULL) { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 658 BasicBlock::Control control = current->control(); | 656 BasicBlock::Control control = current->control(); |
| 659 if (control != BasicBlock::kNone) { | 657 if (control != BasicBlock::kNone) { |
| 660 PrintIndent(); | 658 PrintIndent(); |
| 661 os_ << "0 0 "; | 659 os_ << "0 0 "; |
| 662 if (current->control_input() != NULL) { | 660 if (current->control_input() != NULL) { |
| 663 PrintNode(current->control_input()); | 661 PrintNode(current->control_input()); |
| 664 } else { | 662 } else { |
| 665 os_ << -1 - current->id().ToInt() << " Goto"; | 663 os_ << -1 - current->id().ToInt() << " Goto"; |
| 666 } | 664 } |
| 667 os_ << " ->"; | 665 os_ << " ->"; |
| 668 for (BasicBlock::Successors::iterator j = current->successors_begin(); | 666 for (auto successor : current->successors()) { |
| 669 j != current->successors_end(); ++j) { | 667 os_ << " B" << successor->id(); |
| 670 os_ << " B" << (*j)->id(); | |
| 671 } | 668 } |
| 672 if (FLAG_trace_turbo_types && current->control_input() != NULL) { | 669 if (FLAG_trace_turbo_types && current->control_input() != NULL) { |
| 673 os_ << " "; | 670 os_ << " "; |
| 674 PrintType(current->control_input()); | 671 PrintType(current->control_input()); |
| 675 } | 672 } |
| 676 os_ << " <|@\n"; | 673 os_ << " <|@\n"; |
| 677 } | 674 } |
| 678 } | 675 } |
| 679 | 676 |
| 680 if (instructions != NULL) { | 677 if (instructions != NULL) { |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 824 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); | 821 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); |
| 825 } | 822 } |
| 826 os << ")" << std::endl; | 823 os << ")" << std::endl; |
| 827 } | 824 } |
| 828 } | 825 } |
| 829 return os; | 826 return os; |
| 830 } | 827 } |
| 831 } | 828 } |
| 832 } | 829 } |
| 833 } // namespace v8::internal::compiler | 830 } // namespace v8::internal::compiler |
| OLD | NEW |