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

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

Issue 2074323002: [Turbofan] Merge SpillRanges by byte_width rather than kind. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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/register-allocator.h » ('j') | src/compiler/register-allocator.h » ('J')
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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « no previous file | src/compiler/register-allocator.h » ('j') | src/compiler/register-allocator.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698