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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
551 const TopLevelLiveRange* top = range->TopLevel(); | 551 const TopLevelLiveRange* top = range->TopLevel(); |
552 int index = -1; | 552 int index = -1; |
553 if (top->HasSpillRange()) { | 553 if (top->HasSpillRange()) { |
554 index = kMaxInt; // This hasn't been set yet. | 554 index = kMaxInt; // This hasn't been set yet. |
555 } else if (top->GetSpillOperand()->IsConstant()) { | 555 } else if (top->GetSpillOperand()->IsConstant()) { |
556 os_ << " \"const(nostack):" | 556 os_ << " \"const(nostack):" |
557 << ConstantOperand::cast(top->GetSpillOperand())->virtual_register() | 557 << ConstantOperand::cast(top->GetSpillOperand())->virtual_register() |
558 << "\""; | 558 << "\""; |
559 } else { | 559 } else { |
560 index = AllocatedOperand::cast(top->GetSpillOperand())->index(); | 560 index = AllocatedOperand::cast(top->GetSpillOperand())->index(); |
561 if (top->kind() == FP_REGISTERS) { | 561 if (IsFloatingPoint(top->representation())) { |
562 os_ << " \"double_stack:" << index << "\""; | 562 os_ << " \"fp_stack:" << index << "\""; |
563 } else if (top->kind() == GENERAL_REGISTERS) { | 563 } else { |
564 DCHECK(!IsFloatingPoint(top->representation())); | |
Mircea Trofin
2016/06/18 23:27:56
When would this check fail?
bbudge
2016/06/18 23:33:22
Yes, that's kind of dumb. Removed.
| |
564 os_ << " \"stack:" << index << "\""; | 565 os_ << " \"stack:" << index << "\""; |
565 } | 566 } |
566 } | 567 } |
567 } | 568 } |
568 | 569 |
569 os_ << " " << vreg; | 570 os_ << " " << vreg; |
570 for (const UseInterval* interval = range->first_interval(); | 571 for (const UseInterval* interval = range->first_interval(); |
571 interval != nullptr; interval = interval->next()) { | 572 interval != nullptr; interval = interval->next()) { |
572 os_ << " [" << interval->start().value() << ", " | 573 os_ << " [" << interval->start().value() << ", " |
573 << interval->end().value() << "["; | 574 << interval->end().value() << "["; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
666 os << "]"; | 667 os << "]"; |
667 } | 668 } |
668 os << std::endl; | 669 os << std::endl; |
669 } | 670 } |
670 } | 671 } |
671 return os; | 672 return os; |
672 } | 673 } |
673 } // namespace compiler | 674 } // namespace compiler |
674 } // namespace internal | 675 } // namespace internal |
675 } // namespace v8 | 676 } // namespace v8 |
OLD | NEW |