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

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

Issue 1348073002: [turbofan] Get rid of type lower bounds. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 5 years, 3 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/change-lowering.cc ('k') | src/compiler/js-builtin-reducer.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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 os_ << ",\"rankInputs\":[0]"; 120 os_ << ",\"rankInputs\":[0]";
121 } 121 }
122 SourcePosition position = positions_->GetSourcePosition(node); 122 SourcePosition position = positions_->GetSourcePosition(node);
123 if (position.IsKnown()) { 123 if (position.IsKnown()) {
124 os_ << ",\"pos\":" << position.raw(); 124 os_ << ",\"pos\":" << position.raw();
125 } 125 }
126 os_ << ",\"opcode\":\"" << IrOpcode::Mnemonic(node->opcode()) << "\""; 126 os_ << ",\"opcode\":\"" << IrOpcode::Mnemonic(node->opcode()) << "\"";
127 os_ << ",\"control\":" << (NodeProperties::IsControl(node) ? "true" 127 os_ << ",\"control\":" << (NodeProperties::IsControl(node) ? "true"
128 : "false"); 128 : "false");
129 if (NodeProperties::IsTyped(node)) { 129 if (NodeProperties::IsTyped(node)) {
130 Bounds bounds = NodeProperties::GetBounds(node); 130 Type* type = NodeProperties::GetType(node);
131 std::ostringstream upper; 131 std::ostringstream type_out;
132 bounds.upper->PrintTo(upper); 132 type->PrintTo(type_out);
133 std::ostringstream lower; 133 os_ << ",\"type\":\"" << Escaped(type_out, "\"") << "\"";
134 bounds.lower->PrintTo(lower);
135 os_ << ",\"upper_type\":\"" << Escaped(upper, "\"") << "\"";
136 os_ << ",\"lower_type\":\"" << Escaped(lower, "\"") << "\"";
137 } 134 }
138 os_ << "}"; 135 os_ << "}";
139 } 136 }
140 137
141 private: 138 private:
142 std::ostream& os_; 139 std::ostream& os_;
143 AllNodes all_; 140 AllNodes all_;
144 const SourcePositionTable* positions_; 141 const SourcePositionTable* positions_;
145 bool first_node_; 142 bool first_node_;
146 143
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 292
296 if (OperatorProperties::IsBasicBlockBegin(node->op()) || 293 if (OperatorProperties::IsBasicBlockBegin(node->op()) ||
297 GetControlCluster(node) == NULL) { 294 GetControlCluster(node) == NULL) {
298 for (int j = node->op()->ControlInputCount(); j > 0; ++i, j--) { 295 for (int j = node->op()->ControlInputCount(); j > 0; ++i, j--) {
299 os_ << "|<I" << (*i).index() << ">C #" << SafeId((*i).to()); 296 os_ << "|<I" << (*i).index() << ">C #" << SafeId((*i).to());
300 } 297 }
301 } 298 }
302 os_ << "}"; 299 os_ << "}";
303 300
304 if (FLAG_trace_turbo_types && NodeProperties::IsTyped(node)) { 301 if (FLAG_trace_turbo_types && NodeProperties::IsTyped(node)) {
305 Bounds bounds = NodeProperties::GetBounds(node); 302 Type* type = NodeProperties::GetType(node);
306 std::ostringstream upper; 303 std::ostringstream type_out;
307 bounds.upper->PrintTo(upper); 304 type->PrintTo(type_out);
308 std::ostringstream lower; 305 os_ << "|" << Escaped(type_out);
309 bounds.lower->PrintTo(lower);
310 os_ << "|" << Escaped(upper) << "|" << Escaped(lower);
311 } 306 }
312 os_ << "}\"\n"; 307 os_ << "}\"\n";
313 308
314 os_ << " ]\n"; 309 os_ << " ]\n";
315 if (control_cluster != NULL) os_ << " }\n"; 310 if (control_cluster != NULL) os_ << " }\n";
316 } 311 }
317 312
318 313
319 static bool IsLikelyBackEdge(Node* from, int index, Node* to) { 314 static bool IsLikelyBackEdge(Node* from, int index, Node* to) {
320 if (NodeProperties::IsPhi(from)) { 315 if (NodeProperties::IsPhi(from)) {
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 " Ctx:"); 533 " Ctx:");
539 PrintInputs(&i, OperatorProperties::GetFrameStateInputCount(node->op()), 534 PrintInputs(&i, OperatorProperties::GetFrameStateInputCount(node->op()),
540 " FS:"); 535 " FS:");
541 PrintInputs(&i, node->op()->EffectInputCount(), " Eff:"); 536 PrintInputs(&i, node->op()->EffectInputCount(), " Eff:");
542 PrintInputs(&i, node->op()->ControlInputCount(), " Ctrl:"); 537 PrintInputs(&i, node->op()->ControlInputCount(), " Ctrl:");
543 } 538 }
544 539
545 540
546 void GraphC1Visualizer::PrintType(Node* node) { 541 void GraphC1Visualizer::PrintType(Node* node) {
547 if (NodeProperties::IsTyped(node)) { 542 if (NodeProperties::IsTyped(node)) {
548 Bounds bounds = NodeProperties::GetBounds(node); 543 Type* type = NodeProperties::GetType(node);
549 os_ << " type:"; 544 os_ << " type:";
550 bounds.upper->PrintTo(os_); 545 type->PrintTo(os_);
551 os_ << "..";
552 bounds.lower->PrintTo(os_);
553 } 546 }
554 } 547 }
555 548
556 549
557 void GraphC1Visualizer::PrintSchedule(const char* phase, 550 void GraphC1Visualizer::PrintSchedule(const char* phase,
558 const Schedule* schedule, 551 const Schedule* schedule,
559 const SourcePositionTable* positions, 552 const SourcePositionTable* positions,
560 const InstructionSequence* instructions) { 553 const InstructionSequence* instructions) {
561 Tag tag(this, "cfg"); 554 Tag tag(this, "cfg");
562 PrintStringProperty("name", phase); 555 PrintStringProperty("name", phase);
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); 820 os << "#" << SafeId(i) << ":" << SafeMnemonic(i);
828 } 821 }
829 os << ")" << std::endl; 822 os << ")" << std::endl;
830 } 823 }
831 } 824 }
832 return os; 825 return os;
833 } 826 }
834 } // namespace compiler 827 } // namespace compiler
835 } // namespace internal 828 } // namespace internal
836 } // namespace v8 829 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/change-lowering.cc ('k') | src/compiler/js-builtin-reducer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698