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

Side by Side Diff: src/compiler/graph-visualizer.cc

Issue 1050803002: [turbofan] cleanup InstructionOperand a little (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 8 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 | « src/compiler/gap-resolver.cc ('k') | src/compiler/ia32/code-generator-ia32.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 #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 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 PrintLiveRange(range, "object"); 701 PrintLiveRange(range, "object");
702 } 702 }
703 } 703 }
704 704
705 705
706 void GraphC1Visualizer::PrintLiveRange(LiveRange* range, const char* type) { 706 void GraphC1Visualizer::PrintLiveRange(LiveRange* range, const char* type) {
707 if (range != NULL && !range->IsEmpty()) { 707 if (range != NULL && !range->IsEmpty()) {
708 PrintIndent(); 708 PrintIndent();
709 os_ << range->id() << " " << type; 709 os_ << range->id() << " " << type;
710 if (range->HasRegisterAssigned()) { 710 if (range->HasRegisterAssigned()) {
711 InstructionOperand op = range->GetAssignedOperand(); 711 AllocatedOperand op = AllocatedOperand::cast(range->GetAssignedOperand());
712 int assigned_reg = op.index(); 712 int assigned_reg = op.index();
713 if (op.IsDoubleRegister()) { 713 if (op.IsDoubleRegister()) {
714 os_ << " \"" << DoubleRegister::AllocationIndexToString(assigned_reg) 714 os_ << " \"" << DoubleRegister::AllocationIndexToString(assigned_reg)
715 << "\""; 715 << "\"";
716 } else { 716 } else {
717 DCHECK(op.IsRegister()); 717 DCHECK(op.IsRegister());
718 os_ << " \"" << Register::AllocationIndexToString(assigned_reg) << "\""; 718 os_ << " \"" << Register::AllocationIndexToString(assigned_reg) << "\"";
719 } 719 }
720 } else if (range->IsSpilled()) { 720 } else if (range->IsSpilled()) {
721 auto top = range->TopLevel();
721 int index = -1; 722 int index = -1;
722 if (range->TopLevel()->HasSpillRange()) { 723 if (top->HasSpillRange()) {
723 index = kMaxInt; // This hasn't been set yet. 724 index = kMaxInt; // This hasn't been set yet.
725 } else if (top->GetSpillOperand()->IsConstant()) {
726 os_ << " \"const(nostack):"
727 << ConstantOperand::cast(top->GetSpillOperand())->virtual_register()
728 << "\"";
724 } else { 729 } else {
725 index = range->TopLevel()->GetSpillOperand()->index(); 730 index = AllocatedOperand::cast(top->GetSpillOperand())->index();
726 } 731 if (top->Kind() == DOUBLE_REGISTERS) {
727 if (range->TopLevel()->Kind() == DOUBLE_REGISTERS) { 732 os_ << " \"double_stack:" << index << "\"";
728 os_ << " \"double_stack:" << index << "\""; 733 } else if (top->Kind() == GENERAL_REGISTERS) {
729 } else if (range->TopLevel()->Kind() == GENERAL_REGISTERS) { 734 os_ << " \"stack:" << index << "\"";
730 os_ << " \"stack:" << index << "\""; 735 }
731 } else {
732 os_ << " \"const(nostack):" << index << "\"";
733 } 736 }
734 } 737 }
735 int parent_index = -1; 738 int parent_index = -1;
736 if (range->IsChild()) { 739 if (range->IsChild()) {
737 parent_index = range->parent()->id(); 740 parent_index = range->parent()->id();
738 } else { 741 } else {
739 parent_index = range->id(); 742 parent_index = range->id();
740 } 743 }
741 InstructionOperand* op = range->FirstHint(); 744 InstructionOperand* op = range->FirstHint();
742 int hint_index = -1; 745 int hint_index = -1;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); 820 os << "#" << SafeId(i) << ":" << SafeMnemonic(i);
818 } 821 }
819 os << ")" << std::endl; 822 os << ")" << std::endl;
820 } 823 }
821 } 824 }
822 return os; 825 return os;
823 } 826 }
824 } 827 }
825 } 828 }
826 } // namespace v8::internal::compiler 829 } // namespace v8::internal::compiler
OLDNEW
« no previous file with comments | « src/compiler/gap-resolver.cc ('k') | src/compiler/ia32/code-generator-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698