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

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

Issue 526373002: Fix bug in graph visualizer. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 "src/compiler/generic-algorithm.h" 7 #include "src/compiler/generic-algorithm.h"
8 #include "src/compiler/generic-node.h" 8 #include "src/compiler/generic-node.h"
9 #include "src/compiler/generic-node-inl.h" 9 #include "src/compiler/generic-node-inl.h"
10 #include "src/compiler/graph.h" 10 #include "src/compiler/graph.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 Node* to = edge.to(); 202 Node* to = edge.to();
203 bool unconstrained = IsLikelyBackEdge(from, index, to); 203 bool unconstrained = IsLikelyBackEdge(from, index, to);
204 os_ << " ID" << from->id(); 204 os_ << " ID" << from->id();
205 if (all_nodes_.count(to) == 0) { 205 if (all_nodes_.count(to) == 0) {
206 os_ << ":I" << index << ":n -> DEAD_INPUT"; 206 os_ << ":I" << index << ":n -> DEAD_INPUT";
207 } else if (OperatorProperties::IsBasicBlockBegin(from->op()) || 207 } else if (OperatorProperties::IsBasicBlockBegin(from->op()) ||
208 GetControlCluster(from) == NULL || 208 GetControlCluster(from) == NULL ||
209 (OperatorProperties::GetControlInputCount(from->op()) > 0 && 209 (OperatorProperties::GetControlInputCount(from->op()) > 0 &&
210 NodeProperties::GetControlInput(from) != to)) { 210 NodeProperties::GetControlInput(from) != to)) {
211 os_ << ":I" << index << ":n -> ID" << to->id() << ":s" 211 os_ << ":I" << index << ":n -> ID" << to->id() << ":s"
212 << "[" << (unconstrained ? "constraint=false" : "") 212 << "[" << (unconstrained ? "constraint=false, " : "")
213 << (NodeProperties::IsControlEdge(edge) ? "style=bold" : "") 213 << (NodeProperties::IsControlEdge(edge) ? "style=bold, " : "")
214 << (NodeProperties::IsEffectEdge(edge) ? "style=dotted" : "") 214 << (NodeProperties::IsEffectEdge(edge) ? "style=dotted, " : "")
215 << (NodeProperties::IsContextEdge(edge) ? "style=dashed" : "") << "]"; 215 << (NodeProperties::IsContextEdge(edge) ? "style=dashed, " : "") << "]";
Michael Starzinger 2014/09/02 14:34:03 Are trailing slashes OK for GraphViz? I am not a G
Michael Starzinger 2014/09/02 14:34:33 s/slashes/commas/
216 } else { 216 } else {
217 os_ << " -> ID" << to->id() << ":s [color=transparent" 217 os_ << " -> ID" << to->id() << ":s [color=transparent, "
218 << (unconstrained ? ", constraint=false" : "") 218 << (unconstrained ? "constraint=false, " : "")
219 << (NodeProperties::IsControlEdge(edge) ? ", style=dashed" : "") << "]"; 219 << (NodeProperties::IsControlEdge(edge) ? "style=dashed, " : "") << "]";
220 } 220 }
221 os_ << "\n"; 221 os_ << "\n";
222 } 222 }
223 223
224 224
225 void GraphVisualizer::Print() { 225 void GraphVisualizer::Print() {
226 os_ << "digraph D {\n" 226 os_ << "digraph D {\n"
227 << " node [fontsize=8,height=0.25]\n" 227 << " node [fontsize=8,height=0.25]\n"
228 << " rankdir=\"BT\"\n" 228 << " rankdir=\"BT\"\n"
229 << " ranksep=\"1.2 equally\"\n" 229 << " ranksep=\"1.2 equally\"\n"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 273
274 274
275 OStream& operator<<(OStream& os, const AsDOT& ad) { 275 OStream& operator<<(OStream& os, const AsDOT& ad) {
276 Zone tmp_zone(ad.graph.zone()->isolate()); 276 Zone tmp_zone(ad.graph.zone()->isolate());
277 GraphVisualizer(os, &tmp_zone, &ad.graph).Print(); 277 GraphVisualizer(os, &tmp_zone, &ad.graph).Print();
278 return os; 278 return os;
279 } 279 }
280 } 280 }
281 } 281 }
282 } // namespace v8::internal::compiler 282 } // namespace v8::internal::compiler
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698