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" |
11 #include "src/compiler/all-nodes.h" | 11 #include "src/compiler/all-nodes.h" |
12 #include "src/compiler/graph.h" | 12 #include "src/compiler/graph.h" |
13 #include "src/compiler/node.h" | 13 #include "src/compiler/node.h" |
14 #include "src/compiler/node-properties.h" | 14 #include "src/compiler/node-properties.h" |
15 #include "src/compiler/node-properties-inl.h" | |
16 #include "src/compiler/opcodes.h" | 15 #include "src/compiler/opcodes.h" |
17 #include "src/compiler/operator.h" | 16 #include "src/compiler/operator.h" |
| 17 #include "src/compiler/operator-properties.h" |
18 #include "src/compiler/register-allocator.h" | 18 #include "src/compiler/register-allocator.h" |
19 #include "src/compiler/schedule.h" | 19 #include "src/compiler/schedule.h" |
20 #include "src/compiler/scheduler.h" | 20 #include "src/compiler/scheduler.h" |
21 #include "src/ostreams.h" | 21 #include "src/ostreams.h" |
22 | 22 |
23 namespace v8 { | 23 namespace v8 { |
24 namespace internal { | 24 namespace internal { |
25 namespace compiler { | 25 namespace compiler { |
26 | 26 |
27 static int SafeId(Node* node) { return node == NULL ? -1 : node->id(); } | 27 static int SafeId(Node* node) { return node == NULL ? -1 : node->id(); } |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 os_ << "|" << Escaped(upper) << "|" << Escaped(lower); | 267 os_ << "|" << Escaped(upper) << "|" << Escaped(lower); |
268 } | 268 } |
269 os_ << "}\"\n"; | 269 os_ << "}\"\n"; |
270 | 270 |
271 os_ << " ]\n"; | 271 os_ << " ]\n"; |
272 if (control_cluster != NULL) os_ << " }\n"; | 272 if (control_cluster != NULL) os_ << " }\n"; |
273 } | 273 } |
274 | 274 |
275 | 275 |
276 static bool IsLikelyBackEdge(Node* from, int index, Node* to) { | 276 static bool IsLikelyBackEdge(Node* from, int index, Node* to) { |
277 if (IrOpcode::IsPhiOpcode(from->opcode())) { | 277 if (NodeProperties::IsPhi(from)) { |
278 Node* control = NodeProperties::GetControlInput(from, 0); | 278 Node* control = NodeProperties::GetControlInput(from, 0); |
279 return control != NULL && control->opcode() != IrOpcode::kMerge && | 279 return control != NULL && control->opcode() != IrOpcode::kMerge && |
280 control != to && index != 0; | 280 control != to && index != 0; |
281 } else if (from->opcode() == IrOpcode::kLoop) { | 281 } else if (from->opcode() == IrOpcode::kLoop) { |
282 return index != 0; | 282 return index != 0; |
283 } else { | 283 } else { |
284 return false; | 284 return false; |
285 } | 285 } |
286 } | 286 } |
287 | 287 |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); | 770 os << "#" << SafeId(i) << ":" << SafeMnemonic(i); |
771 } | 771 } |
772 os << ")" << std::endl; | 772 os << ")" << std::endl; |
773 } | 773 } |
774 } | 774 } |
775 return os; | 775 return os; |
776 } | 776 } |
777 } | 777 } |
778 } | 778 } |
779 } // namespace v8::internal::compiler | 779 } // namespace v8::internal::compiler |
OLD | NEW |