Chromium Code Reviews| Index: src/compiler/graph-visualizer.cc |
| diff --git a/src/compiler/graph-visualizer.cc b/src/compiler/graph-visualizer.cc |
| index 53089040ab3ea607e48206df27872b17d4d129e3..dc83ccf5db632261ced48f149058f4cee8ff3eb7 100644 |
| --- a/src/compiler/graph-visualizer.cc |
| +++ b/src/compiler/graph-visualizer.cc |
| @@ -126,12 +126,14 @@ class JSONGraphNodeWriter { |
| } else { |
| os_ << ",\n"; |
| } |
| - std::ostringstream label, title; |
| + std::ostringstream label, title, properties; |
| node->op()->PrintTo(label, Operator::PrintVerbosity::kSilent); |
| node->op()->PrintTo(title, Operator::PrintVerbosity::kVerbose); |
| + node->op()->PrintPropsTo(properties); |
| os_ << "{\"id\":" << SafeId(node) << ",\"label\":\"" << Escaped(label, "\"") |
| << "\"" |
| - << ",\"title\":\"" << Escaped(title, "\"") << "\""; |
| + << ",\"title\":\"" << Escaped(title, "\"") << "\"" |
| + << ",\"properties\":\"" << Escaped(properties, "\"") << "\""; |
| IrOpcode::Value opcode = node->opcode(); |
| if (IrOpcode::IsPhiOpcode(opcode)) { |
| os_ << ",\"rankInputs\":[0," << NodeProperties::FirstControlIndex(node) |
| @@ -153,6 +155,12 @@ class JSONGraphNodeWriter { |
| os_ << ",\"opcode\":\"" << IrOpcode::Mnemonic(node->opcode()) << "\""; |
| os_ << ",\"control\":" << (NodeProperties::IsControl(node) ? "true" |
| : "false"); |
| + os_ << ",\"opinfo\":\"" << node->op()->ValueInputCount() << " v " |
|
danno
2016/08/09 13:53:49
how about using a JSON object for these and making
|
| + << node->op()->EffectInputCount() << " eff " |
| + << node->op()->ControlInputCount() << " ctrl in, " |
| + << node->op()->ValueOutputCount() << " v " |
| + << node->op()->EffectOutputCount() << " eff " |
| + << node->op()->ControlOutputCount() << " ctrl out\""; |
| if (NodeProperties::IsTyped(node)) { |
| Type* type = NodeProperties::GetType(node); |
| std::ostringstream type_out; |