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 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 const TopLevelLiveRange* top = range->TopLevel(); | 574 const TopLevelLiveRange* top = range->TopLevel(); |
575 int index = -1; | 575 int index = -1; |
576 if (top->HasSpillRange()) { | 576 if (top->HasSpillRange()) { |
577 index = kMaxInt; // This hasn't been set yet. | 577 index = kMaxInt; // This hasn't been set yet. |
578 } else if (top->GetSpillOperand()->IsConstant()) { | 578 } else if (top->GetSpillOperand()->IsConstant()) { |
579 os_ << " \"const(nostack):" | 579 os_ << " \"const(nostack):" |
580 << ConstantOperand::cast(top->GetSpillOperand())->virtual_register() | 580 << ConstantOperand::cast(top->GetSpillOperand())->virtual_register() |
581 << "\""; | 581 << "\""; |
582 } else { | 582 } else { |
583 index = AllocatedOperand::cast(top->GetSpillOperand())->index(); | 583 index = AllocatedOperand::cast(top->GetSpillOperand())->index(); |
584 if (top->kind() == FP_REGISTERS) { | 584 if (IsFloatingPoint(top->representation())) { |
585 os_ << " \"double_stack:" << index << "\""; | 585 os_ << " \"fp_stack:" << index << "\""; |
586 } else if (top->kind() == GENERAL_REGISTERS) { | 586 } else { |
587 os_ << " \"stack:" << index << "\""; | 587 os_ << " \"stack:" << index << "\""; |
588 } | 588 } |
589 } | 589 } |
590 } | 590 } |
591 | 591 |
592 os_ << " " << vreg; | 592 os_ << " " << vreg; |
593 for (const UseInterval* interval = range->first_interval(); | 593 for (const UseInterval* interval = range->first_interval(); |
594 interval != nullptr; interval = interval->next()) { | 594 interval != nullptr; interval = interval->next()) { |
595 os_ << " [" << interval->start().value() << ", " | 595 os_ << " [" << interval->start().value() << ", " |
596 << interval->end().value() << "["; | 596 << interval->end().value() << "["; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 os << "]"; | 689 os << "]"; |
690 } | 690 } |
691 os << std::endl; | 691 os << std::endl; |
692 } | 692 } |
693 } | 693 } |
694 return os; | 694 return os; |
695 } | 695 } |
696 } // namespace compiler | 696 } // namespace compiler |
697 } // namespace internal | 697 } // namespace internal |
698 } // namespace v8 | 698 } // namespace v8 |
OLD | NEW |